静默安装MSI软件包


84

如果尚未安装MSI软件包,则需要安装该软件包。我还需要静默安装它。该软件包提示用户:

  • 安装位置(C:\ Program Files \ Foobar)
  • 安装类型:最小和完整(最小)

我需要使用命令行参数或其他方法来覆盖这两个参数。那么我该如何解决这两个问题。我将使用VBScript编写脚本。

Answers:


129

您应该能够将/quiet/qn选项msiexec用于执行静默安装。

MSI程序包导出公共属性,您可以PROPERTY=valuemsiexec参数末尾使用语法进行设置。

例如,此命令将安装一个没有UI且没有重新引导的软件包,并带有一个日志和两个属性:

msiexec /i c:\path\to\package.msi /quiet /qn /norestart /log c:\path\to\install.log PROPERTY1=value1 PROPERTY2=value2

您可以msiexec通过从开始->运行中不带任何选项的情况下直接运行选项来阅读选项。


6
有没有办法找到可接受的参数列表(PROPERTY1PROPERTY2在你的例子)?
Salman A

这是预定义的属性列表:msdn.microsoft.com/zh-cn/library/windows/desktop/… 每个安装创作工具的安装文件夹属性都不同。您使用什么来创建MSI?
cosmin 2011年

@Cosmin:MSI由支付系统的运行时DLL组成(不是我创建的)。我正在查看一个名为Ocra的工具来剖析MSI,它为我提供了有关名为“ INSTALLLOCATION”的变量的提示。我正在查。
Salman A

7
注意:对于指定MSI包的FULL文件路径,msiexec似乎很挑剔。不要尝试任何这项.\mypackage.msi业务。花了我一点时间来解决这个问题。
Phil

4
MS产品的名称实际上是Orca,而不是ocra。拼写错误可能很难用Google搜索。您可能会获得很多克里奥尔语的配方……但是没有MSI建设者。msdn.microsoft.com/zh-CN/library/aa370557(v=vs.85).aspx
Scott Lundberg

12

通过以下方式静默安装MSI的正确方法是msiexec.exe command line

msiexec.exe /i c:\setup.msi /QN /L*V "C:\Temp\msilog.log"

快速说明:

 /L*V "C:\Temp\msilog.log"= verbose logging
 /QN = run completely silently
 /i = run install sequence 

这里有一个更全面的答案:用于安装MSI的批处理脚本。此答案提供了有关msiexec.exe命令行选项的详细信息,以及如何找到可在安装时在命令行上设置的“公共属性”的说明。对于每个MSI,这些属性通常都不同。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.