msiexec

提供从命令行在 Windows Installer 上安装、修改和执行操作的方法。

安装选项

设置用于启动安装包的安装类型。

语法

msiexec.exe [/i][/a][/j{u|m|/g|/t}][/x] <path_to_package>

参数

参数 说明
/i 指定常规安装。
/a 指定管理员安装。
/ju 将产品播发给当前用户。
/jm 将产品播发给所有用户。
/j/g 指定播发的包使用的语言标识符。
/j/t 将转换应用于播发的包。
/x 卸载包。
<path_to_package> 指定安装包文件的位置和名称。

示例

若要使用常规安装过程从 C: 驱动器安装名为 example.msi 的包,请键入:

msiexec.exe /i "C:\example.msi"

显示选项

可以根据目标环境配置用户在安装过程中看到的内容。 例如,如果要将包分发给所有客户端进行手动安装,则应有一个完整的 UI。 但是,如果使用组策略部署包(不需要用户交互),则不应涉及 UI。

语法

msiexec.exe /i <path_to_package> [/quiet][/passive][/q{n|b|r|f}]

参数

参数 说明
<path_to_package> 指定安装包文件的位置和名称。
/quiet 指定无提示模式,这意味着不需要用户交互。
/passive 指定无人参与模式,这意味着安装仅显示进度栏。
/qn 指定在安装过程中没有 UI。
/qn+ 指定除了末尾的最后一个对话框之外,在安装过程中没有 UI。
/qb 指定在安装过程中有一个基本 UI。
/qb+ 指定在安装过程中有一个基本 UI,包括末尾的最后一个对话框。
/qr 指定在安装过程中提供精简的 UI 体验。
/qf 指定在安装过程中提供完整的 UI 体验。
备注
  • 如果用户取消安装,则不会显示模式框。 可以使用 qb+! 或 qb!+ 隐藏“取消”按钮。

示例

若要使用常规安装过程安装 C:\example.msi 包且不使用 UI,请键入:

msiexec.exe /i "C:\example.msi" /qn

重启选项

如果安装包覆盖了文件或尝试更改正在使用中的文件,可能需要重新启动才能完成安装。

语法

msiexec.exe /i <path_to_package> [/norestart][/promptrestart][/forcerestart]

参数

参数 说明
<path_to_package> 指定安装包文件的位置和名称。
/norestart 阻止设备在安装完成后重启。
/promptrestart 如果需要重新启动,则提示用户。
/forcerestart 在安装完成后重启设备。

示例

若要使用常规安装流程安装 C:\example.msi 包且最后不重新启动,请键入:

msiexec.exe /i "C:\example.msi" /norestart

日志记录选项

如果需要调试安装包,可以设置参数以创建包含特定信息的日志文件。

语法

msiexec.exe [/i][/x] <path_to_package> [/L{i|w|e|a|r|u|c|m|o|p|v|x+|!|*}] <path_to_log>

参数

参数 说明
/i 指定常规安装。
/x 卸载包。
<path_to_package> 指定安装包文件的位置和名称。
/li 启用日志记录,并在输出日志文件中包含状态消息。
/lw 启用日志记录,并在输出日志文件中包含非致命警告。
/le 启用日志记录,并在输出日志文件中包含所有错误消息。
/la 启用日志记录,并在输出日志文件中包括有关操作何时开始的信息。
/lr 启用日志记录,并在输出日志文件中包含特定于操作的记录。
/lu 启用日志记录,并在输出日志文件中包含用户请求信息。
/lc 启用日志记录,并在输出日志文件中包含初始 UI 参数。
/lm 启用日志记录,并在输出日志文件中包含内存不足或致命退出信息。
/lo 启用日志记录,并在输出日志文件中包含磁盘空间不足消息。
/lp 启用日志记录,并在输出日志文件中包含终端属性。
/lv 启用日志记录,并在输出日志文件中包含详细输出。
/lx 启用日志记录,并在输出日志文件中包含额外的调试信息。
/l+ 启用日志记录,并将信息追加到现有日志文件。
/l! 启用日志记录,并将每行刷新到日志文件。
/l* 启用日志记录并记录所有信息,详细信息(/lv) 或额外的调试信息 (/lx) 除外。
<path_to_logfile> 指定输出日志文件的位置和名称。

示例

若要使用常规安装过程安装 C:\example.msi 包且提供所有日志记录信息、(包括详细输出)并将输出日志文件存储在 C:\package.log,请键入:

msiexec.exe /i "C:\example.msi" /L*V "C:\package.log"

更新选项

可以使用安装包应用或移除更新。

语法

msiexec.exe [/p][/update][/uninstall[/package<product_code_of_package>]] <path_to_package>

参数

参数 说明
/p 安装修补程序。 如果要以无提示方式安装,则还必须将 REINSTALLMODE 属性设置为 ecmus,将 REINSTALL 设置为 ALL。 否则,修补程序仅更新目标设备上缓存的 MSI。
/update 安装修补程序选项。 如果要应用多个更新,则必须使用分号 (;) 进行分隔。
/package 安装或配置产品。

示例

msiexec.exe /p "C:\MyPatch.msp"
msiexec.exe /p "C:\MyPatch.msp" /qb REINSTALLMODE="ecmus" REINSTALL="ALL"
msiexec.exe /update "C:\MyPatch.msp"
msiexec.exe /uninstall {1BCBF52C-CD1B-454D-AEF7-852F73967318} /package {AAD3D77A-7476-469F-ADF4-04424124E91D}

其中,第一个 GUID 是修补程序 GUID,第二个 GUID 是应用修补程序的 MSI 产品代码。

修复选项

可以使用此命令修复已安装的包。

语法

msiexec.exe [/f{p|o|e|d|c|a|u|m|s|v}] <product_code>

参数

参数 说明
/fp 如果缺少文件,则修复包。
/fo 如果缺少文件或安装了较旧版本,则修复包。
/fe 如果缺少文件或者安装了同等或较旧的版本,则修复包。
/fd 如果缺少文件或者安装了不同的版本,则修复包。
/fc 如果缺少文件或者校验和与计算的值不匹配,则修复包。
/fa 强制重新安装所有文件。
/fu 修复所有必需的特定于用户的注册表项。
/fm 修复所有必需的特定于计算机的注册表项。
/fs 修复所有现有快捷方式。
/fv 从源运行并重新缓存本地包。

示例

若要根据要修复的 MSI 产品代码 {AAD3D77A-7476-469F-ADF4-04424124E91D} 强制重新安装所有文件,请键入:

msiexec.exe /fa {AAD3D77A-7476-469F-ADF4-04424124E91D}

设置公共属性

可以通过此命令设置公共属性。 有关可用属性以及如何设置它们的信息,请参阅公共属性