无提示安装MSI包

Sal*_*n A 77 windows-installer msiexec

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

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

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

Pol*_*ial 117

您应该能够使用/quiet/qn选项msiexec来执行静默安装.

MSI包导出公共属性,您可以使用参数PROPERTY=value末尾的语法设置它们msiexec.

例如,此命令安装一个没有UI且没有重新启动的软件包,其中包含一个日志和两个属性:

msiexec /i c:\path\to\package.msi /quiet /qn /norestart /log c:\path\to\install.log PROPERTY1=value1 PROPERTY2=value2
Run Code Online (Sandbox Code Playgroud)

您可以msiexec通过运行它来阅读选项,而不使用"开始" - >"运行"中的选项.

  • 注意:msiexec似乎非常挑剔指定MSI包的FULL文件路径.不要尝试任何这个`.\ mypackage.msi`业务.我想了一下这个问题. (7认同)
  • 有没有办法找到可接受的参数列表(在你的例子中`PROPERTY1`和`PROPERTY2`)? (6认同)
  • MS产品的名称实际上是Orca,而不是ocra.拼写错误可能很难谷歌.你可能会得到很多克里奥尔食谱......但不是MSI建设者.http://msdn.microsoft.com/en-us/library/aa370557(v=vs.85).aspx (4认同)

Ste*_*mul 9

以静默方式安装MSI的正确方法msiexec.exe command line如下:

msiexec.exe /i c:\setup.msi /QN /L*V "C:\Temp\msilog.log"
Run Code Online (Sandbox Code Playgroud)

快速解释:

 /L*V "C:\Temp\msilog.log"= verbose logging
 /QN = run completely silently
 /i = run install sequence 
Run Code Online (Sandbox Code Playgroud)

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