自动化MSI安装

17

如何自动安装MSI文件或安装程序.exe? 我们想要在构建系统上对产品的已安装副本进行自动化测试。我们的安装程序有通常的许可证接受屏幕、安装位置等。


正如FryHard指出的那样,有两个特别方便的选项:

  • "/quiet" - 无用户交互
  • "/passive" - 只有进程栏,非交互式模式
3个回答

25

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

msiexec.exe /qn /i mypackage.msi

请记住,您需要指定MSI包通过UI期望用户指定的属性,并且对于这些属性不存在默认值。

您可以使用Orca工具查看属性列表并修改MSI条件等内容。要为属性设置值,您只需在命令行中指定它;例如,设置一个名为ISDEBUG的属性:

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

附注:要自动卸载,请使用该程序或产品代码的/X选项:

msiexec.exe /qn /x mypackage.msi

或者使用以下代码(需要将CLSID更改为您的产品代码):

msiexec.exe /qn /x {B741B8A3-8DCB-44E0-B06F-2A11F56572DB}

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

14

如果你在命令提示符中进入其中一个MSI包并运行:

Myproduct.MSI /?

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


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接