msiexec
是 Windows 操作系统中的一个命令行工具,用于安装、卸载、配置和管理 Windows Installer 包(通常是 .msi
文件)。Windows Installer 是一种用于安装、维护和删除软件的系统服务,而 msiexec
是与之交互的主要工具之一。
基本语法
msiexec /Option <Required Parameter> [Optional Parameter]
常用选项
-
安装 MSI 包
msiexec /i <path_to_msi_file> [Additional_Options]
/i
:表示安装操作。<path_to_msi_file>
:指定要安装的.msi
文件的路径。[Additional_Options]
:可以指定其他参数,如/quiet
、/passive
等。
-
卸载 MSI 包
msiexec /x <ProductCode> [Additional_Options]
/x
:表示卸载操作。<ProductCode>
:指定要卸载的产品的 GUID(通常称为产品代码)。[Additional_Options]
:可以指定其他参数,如/quiet
、/passive
等。
-
修复 MSI 包
msiexec /f[p|e|c|m|u|o|d|a|v] <ProductCode> [Additional_Options]
/f
:表示修复操作。[p|e|c|m|u|o|d|a|v]
:指定修复的类型。p
:仅修复已损坏的文件。e
:修复所有文件,包括未损坏的文件。c
:修复并重新安装所有文件。m
:修复并重新安装所有文件,包括未损坏的文件。u
:修复并重新安装所有用户文件。o
:修复并重新安装所有文件,包括未损坏的文件。d
:修复并重新安装所有文件,包括未损坏的文件。a
:修复并重新安装所有文件,包括未损坏的文件。v
:修复并重新安装所有文件,包括未损坏的文件。
<ProductCode>
:指定要修复的产品的 GUID。[Additional_Options]
:可以指定其他参数,如/quiet
、/passive
等。
-
配置 MSI 包
msiexec /configure <path_to_msi_file> [Additional_Options]
/configure
:表示配置操作。<path_to_msi_file>
:指定要配置的.msi
文件的路径。[Additional_Options]
:可以指定其他参数,如/quiet
、/passive
等。
-
日志记录
msiexec /Option <Required Parameter> /L[i|w|e|a|r|u|c|m|o|p|v|x|+|!|*] <LogFile>
/L
:表示启用日志记录。[i|w|e|a|r|u|c|m|o|p|v|x|+|!|*]
:指定日志级别。i
:记录信息性消息。w
:记录警告消息。e
:记录错误消息。a
:记录启动操作。r
:记录特定操作的记录。u
:记录用户请求。c
:记录初始用户界面参数。m
:记录内存不足或致命退出信息。o
:记录磁盘空间不足的消息。p
:记录终端属性。v
:记录详细输出。x
:记录额外调试信息。+
:追加日志文件。!
:刷新每行的日志。*
:记录所有信息,等同于iwea
。
<LogFile>
:指定日志文件的路径。
-
静默安装/卸载
msiexec /Option <Required Parameter> /quiet
/quiet
:表示静默安装或卸载,不显示用户界面。
-
被动模式
msiexec /Option <Required Parameter> /passive
/passive
:表示被动模式,只显示进度条,不显示其他用户界面。
-
强制重新启动
msiexec /Option <Required Parameter> /forcerestart
/forcerestart
:表示在安装完成后强制重新启动计算机。
示例
-
安装 MSI 包并生成日志
msiexec /i "C:\path\to\installer.msi" /quiet /l*v "C:\path\to\install.log"
-
卸载 MSI 包并生成日志
msiexec /x {ProductCode} /quiet /l*v "C:\path\to\uninstall.log"
-
修复 MSI 包
msiexec /f c {ProductCode} /quiet
-
配置 MSI 包
msiexec /configure "C:\path\to\installer.msi" /quiet
注意事项
- 产品代码:在卸载或修复操作中,通常需要指定产品代码(GUID)。可以通过注册表或使用
msiexec /?
命令来查找产品代码。 - 日志文件:建议在执行任何操作时生成日志文件,以便在出现问题时进行故障排除。
- 权限:某些操作(如安装或卸载)可能需要管理员权限。
msiexec
是一个非常强大的工具,适用于自动化软件部署、管理和维护任务。通过结合不同的选项和参数,可以实现各种复杂的操作。