【问题标题】:MSI installation quietly with default values使用默认值安静地安装 MSI
【发布时间】:2014-07-10 05:24:42
【问题描述】:

我正在编写一个 powershell 脚本来卸载和安装产品。卸载和安装过程只需单击几个填充了默认值的下一步按钮。

您能否建议如何在不提示用户单击几个下一步按钮的情况下安装 MSI 文件并非常安静地完成安装过程。

如果我想在安装期间提供自定义值,找出属性名称以及如何静默运行它的过程可能是什么。请参阅任何参考资料以进一步探索。

我正在使用 powershell 2.0,如果需要更多信息,请告诉我。提前致谢。

问候, 库马尔

【问题讨论】:

    标签: installation windows-installer powershell-2.0


    【解决方案1】:

    要静默安装 .msi 文件,您应该能够使用 /quiet 开关和 msiexec。 如果你需要自定义任何东西,你可以像这样设置属性值:PROPERTY=Value

    总共: msiexec /i C:\Path\To\File.msi /quiet PROPERTY=Value

    要查看所有选项,只需运行msiexec,不带任何参数。 This question 和你的也很相似。

    【讨论】:

    • 感谢您的意见。它似乎工作正常,但是当我从共享网络提供 msi 文件路径时,它不起作用。是否必须提供本地文件系统的 MSI 文件路径?
    • 似乎其他人也有这个问题。您可以尝试将网络共享映射到本地驱动器,然后从那里引用文件...
    【解决方案2】:

    只有在 MSI 帮助您的情况下,您才能这样做:)。例如,如果一个名为 SERVERNAME 的属性在对话框中设置为 FRED,那么您可以在命令行上说 SERVERNAME=FRED。这假定执行安装工作的 InstallExecuteSequence 仅使用值 FRED。当 UI 序列执行在静默模式下不会发生的额外事情时会出现问题,因为 UI 序列不会在静默安装中运行。如果 UI 序列对话框通过(例如)在前面添加 \ 并在末尾添加 \MyShare 来更改 SERVERNAME,并且在执行序列中使用了 \FRED\MyShare,那么您需要知道将命令行设置为 SERVERNAME="\FRED\ MyShare”,因为这是执行序列所期望的。如果您不知道所有潜在的相关属性值,您可以使用详细日志在 UI 模式下运行安装并查看它们。因此,在没有静默安装文档的情况下,您需要对其进行一些逆向工程。

    如果您想指定要安装的功能,请使用 ADDLOCAL=逗号分隔的功能名称列表。

    【讨论】:

      【解决方案3】:

      静默运行的基本命令行是(路径被截断):

      msiexec.exe /I "C:\WiX.msi" /QN /L*V "C:\msilog.log" MYPROPERTY=1
      

      您还可以应用转换(请参阅下面的说明):

      msiexec.exe /I "C:\WiX.msi" /QN /L*V "C:\msilog.log" TRANSFORMS="C:\Wix.mst"
      
      • /QN:静默运行,安装期间或安装后无 GUI
      • /L*V:写入包含所有信息的详细日志文件
      • MYPROPERTY:在命令行设置属性。可以设置多个。

      • 修改 MSI 文件以供企业使用的方式是使用转换文件 (*.mst)。

        • 这是一个小“database sn-p”,一旦在运行时应用到它,就可以更改 MSI 文件(它是一个数据库)。
        • 转换实际上可以更改 MSI 中的任何内容,但大多数情况下它用于调整一些小事情,例如删除快捷方式、消除不需要的运行时等...
        • 通过在 msiexec.exe 命令行上添加关键字 TRANSFORMS 后跟 *.mst 文件的路径,将转换应用于 MSI。

      您还可以通过多种其他方式卸载 MSI 文件(除了 msiexec.exe 命令行)。 Here is a rough guide for how to uninstall MSI files。它包括有关如何使用 PowerShell、WMI、VBScript 自动化等进行卸载的信息......并且有 another post on serverfault.com 关于避免使用 msiexec.exe 以防止在自动运行期间弹出不需要的对话框的问题。

      【讨论】:

        猜你喜欢
        • 2023-04-06
        • 2013-03-01
        • 1970-01-01
        • 2021-11-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-23
        • 2011-06-04
        相关资源
        最近更新 更多