«

Windows使用msiexec静默安装卸载软件

myluzh 发布于 阅读:1339 Windows


0x00 介绍

Msiexec.exe Command Line 简介

Msiexec.exe 是 Windows 操作系统中的一个进程,用于执行 MSI 和 MSP 安装包。通过 Msiexec.exe 命令行,你可以完全控制安装过程,包括安装选项、显示选项、重启选项、日志记录选项、更新选项、修复选项以及公共属性。



0x01 msiexec 用法

基本命令结构: msiexec.exe <install_option> <path_to_package> [package_parameters]

安装选项 通过不同的开关设置安装类型:

/i - 正常安装

/a - 管理安装

/x - 卸载包

/j - 广告安装(/u: 当前用户,/m: 所有用户)

示例: msiexec.exe /i "C:\Example.msi"



显示选项 控制安装过程中的用户界面显示:

/quiet - 无交互

/passive - 无需用户交互,仅显示进度条

/q - 设置UI级别(n: 无UI,b: 基本UI,f: 完整UI)

示例: msiexec.exe /i "C:\Example.msi" /qn



重启选项 设置安装后的重启策略:

/norestart - 不重启

/promptrestart - 提示重启

/forcerestart - 强制重启

示例: msiexec.exe /i "C:\Example.msi" /norestart



日志选项 启用日志记录并指定输出:

/L - 启用日志

/log - 指定日志文件路径

示例: msiexec.exe /i "C:\Example.msi" /L*V "C:\package.log"



更新选项 应用或移除更新:

/p - 安装补丁

/update - 应用更新

/uninstall - 移除更新

示例: msiexec.exe /p "C:\MyPatch.msp"



修复选项 修复已安装的包:

/f - 修复安装包,参数指定修复条件(如文件缺失、版本过旧等)

示例: msiexec.exe /fa {Product_Code}



设置公共属性 通过命令行设置公共属性:

msiexec.exe /i "C:\Example.msi" MY_PROP="myValue"



安装

msiexec /i .msi /qb /lv .log

/i表示安装,.msi是MSI安装包的全路径。/qb表示安静安装(不需要用户点下一步),/lv表示输出日志到
.log文件。

卸载

msiexec /x {GUID} /q

每个程序安装后,都会有一个GUID号 /x 用于卸载一个程序。/q表示完全安静地安装。

msiexec /x ***.msi /q

也可以通过MSI文件来卸载。其效果和通过GUID号来卸载是一样的。

详细用法可以在命令行下输入:msiexec,查看弹出来的帮助。



0x02 关于获取程序GUID

如何获取程序GUID号码?

cmd查看程序GUID

命令行输入wmic然后再输入product list即可查询到GUID号



注册表查看程序GUID

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall

HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall



powershell查看程序GUID

get-wmiobject Win32_Product | Format-Table IdentifyingNumber, Name, LocalPackage -AutoSize







参考文章:

Msiexec.exe 命令行参数 - Advanced Installer Help

https://www.advancedinstaller.com/user-guide/msiexec.html

如何找到已安装的MSI设置的产品GUID?

https://qastack.cn/programming/29937568/how-can-i-find-the-product-guid-of-an-installed-msi-setup


windows msiexec 静默 安装 卸载