【问题标题】:How to install msi with parameters in without using command如何在不使用命令的情况下安装带参数的 msi
【发布时间】:2020-07-13 02:16:59
【问题描述】:

我有一个msi,需要在安装时传递一些参数,我使用命令行传递参数,如下命令:
msiexec /i installer.msi ALLUSERS=1 AUTOUPGRADEENABLED=0
对于用户来说,命令行安装太复杂了,所以我想建一个安装程序,双击安装程序后,将安装带有参数的msi,任何人都知道怎么做。

【问题讨论】:

    标签: windows installation wix windows-installer installshield


    【解决方案1】:

    您可以下载 Orca 并使用已设置的属性编辑/保存 msi。或者,您可以创建一个 bat 文件,该文件使用命令行属性集启动 msi。

    【讨论】:

      【解决方案2】:

      应用程序启动代码:我总是喜欢在每个用户启动应用程序期间提出问题并设置选项。我发现最 灵活、健壮、最容易测试并且适合 QA 人员测试新的 版本。

      请注意,这最适合用户特定的设置。对于共享设置,您通常需要写入 HKLM,然后您需要 setup-elevation 或以管理员权限运行应用程序。


      1. 默认值:如上所述,您可以在构建 MSI 时将属性值默认为 属性表 中的正确值。那么你可能不需要通过命令行设置任何东西?

        • 可以使用 Orca(免费的 MSI 编辑器)重新保存已完成的 MSI,但您不应更改已完成的 MSI(可能已签名并重新保存会破坏它)。

        • 正式批准的参数编辑机制称为转换 - 在安装时应用的主 MSI 数据库更改的小型数据库。请参阅此命令行和下面的单独部分:

          msiexec.exe /I "My.msi" /QN /L*V "C:\My.log" TRANSFORMS="C:\1031.mst;C:\My.mst"
          
      2. 批处理文件:您可以使用批处理文件在“现成”命令行中设置这些选项,并将批处理文件放在您的 MSI 旁边。这很简单,就像您在批处理文件中已有的一样——也许启用了静默运行。

        • 批处理文件也可以应用转换 - 如上面的命令行所示。

        • 甚至可以将转换合并到现有的 MSI 中并保存为新的 MSI。不推荐,但可能。

      3. GUI:您可以使用 MSI GUI 来调整这些属性的值。这需要一些不那么复杂但非常繁琐且耗时的工作。

      4. Burn:您可以将所有 MSI 文件包装在 setup.exe Burn bundle 中,并指定一个命令行默认运行 exe 文件并为正常的 MSI 安装设置 MSI 属性。


      转换:您可以让用户创建转换以指定应用于安装的设置 - 但这不是这里的重点,除非您提供自己的默认设置一。然后您需要通过命令行应用它或在构建时将其合并到您的主 MSI 中。


      更多链接:

      【讨论】:

        猜你喜欢
        • 2016-01-01
        • 1970-01-01
        • 2021-01-27
        • 1970-01-01
        • 2015-02-22
        • 1970-01-01
        • 2011-06-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多