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}
设置公共属性
可以通过此命令设置公共属性。 有关可用属性以及如何设置它们的信息,请参阅公共属性。