【问题标题】:Silent installation of a MSI packageMSI 软件包的静默安装
【发布时间】:2012-01-23 12:20:54
【问题描述】:

我有一个 MSI 包,如果该包尚未安装,我需要安装它。我也需要静默安装。包提示用户:

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

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

【问题讨论】:

    标签: wix installation windows-installer advanced-installer


    【解决方案1】:

    静默安装 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 
    

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

    【讨论】:

      【解决方案2】:

      您应该能够将/quiet/qn 选项与msiexec 一起使用来执行静默安装。

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

      例如,这个命令安装一个没有 UI 和重启的包,带有一个日志和两个属性:

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

      您可以阅读msiexec 的选项,只需在 Start -> Run 中不带任何选项运行即可。

      【讨论】:

      • 有没有办法找到可接受的参数列表(在您的示例中为PROPERTY1PROPERTY2)?
      • 这里是预定义的属性列表:msdn.microsoft.com/en-us/library/windows/desktop/… 每个安装创作工具的安装文件夹属性都不同。您使用什么来创建 MSI?
      • @Cosmin:MSI 包含支付系统的运行时 DLL(不是我创建的)。我正在查看一个名为 Ocra 的工具来剖析 MSI,它给了我一个关于名为“INSTALLLOCATION”的变量的提示。我正在检查。
      • 注意:msiexec 似乎对指定 MSI 包的完整文件路径非常挑剔。不要尝试任何.\mypackage.msi 业务。我花了一点时间才弄明白。
      • MS产品的名字其实是Orca,不是ocra。拼写错误可能很难用谷歌搜索。你可能会得到很多克里奥尔食谱......但不是 MSI 建设者。 msdn.microsoft.com/en-us/library/aa370557(v=vs.85).aspx
      猜你喜欢
      • 1970-01-01
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 2013-03-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-04
      • 2011-08-11
      相关资源
      最近更新 更多