Windows installer 自动MSI安装

Windows installer 自动MSI安装,windows-installer,automated-tests,automated-deploy,Windows Installer,Automated Tests,Automated Deploy,自动安装MSI文件或installer.exe的最佳方式是什么?我们想从我们的构建系统对产品的已安装副本进行一些自动化测试。我们的安装程序具有常见的许可证接受屏幕、安装位置等 正如FryHard指出的,有两种选择似乎特别方便: “/quiet”-无需交互 “/被动”-仅流程栏,无人值守模式 如果在命令提示符下转到某个MSI软件包并运行: Myproduct.MSI /? 将弹出一个屏幕,显示可以传递给MSI的命令行参数的所有详细信息。我确信,通过这种方式,您可以通过命令提示符安装应用程序,

自动安装MSI文件或installer.exe的最佳方式是什么?我们想从我们的构建系统对产品的已安装副本进行一些自动化测试。我们的安装程序具有常见的许可证接受屏幕、安装位置等


正如FryHard指出的,有两种选择似乎特别方便:

  • “/quiet”-无需交互
  • “/被动”-仅流程栏,无人值守模式

如果在命令提示符下转到某个MSI软件包并运行:

Myproduct.MSI /?

将弹出一个屏幕,显示可以传递给MSI的命令行参数的所有详细信息。我确信,通过这种方式,您可以通过命令提示符安装应用程序,并以这种方式使其自动化。

要使MSI软件包的安装自动化,您可以使用/I选项,如下所示:

msiexec.exe /qn /i mypackage.msi
请记住,您需要指定MSI包期望用户通过UI指定的属性,并且它没有默认值

您可以使用查看属性列表和摆弄MSI条件等,并设置属性值,您只需在命令行中指定它;e、 g.要设置属性ISDEBUG:

msiexec.exe/qn/i mypackage.msi ISDEBUG=1

旁注:要自动卸载,请在软件包或产品代码中使用/X选项:

msiexec.exe /qn /x mypackage.msi
msiexec.exe /qn /x {B741B8A3-8DCB-44E0-B06F-2A11F56572DB}
或者(您需要使用产品代码更改CLSID):


尚未发布,但可供将来参考


使用nugget软件包自动部署。

很好,那么如何“指定MSI软件包可能期望的某些(非默认)属性”?老实说,我不记得了。我已经五年没接触MSI了。要获取错误消息,您应该创建安装程序日志。它的静默命令:msiexec.exe/qn/i mypackage.msi ISDEBUG=1/l*vx mypackageInstallerLog.txt