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表示安静安装(不需要用户点下一步),/l*v表示输出日志到 ***.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
发表评论