【问题标题】:how to stop custom action from executing from parameters while installing msi throug command line.?如何在通过命令行安装 msi 时停止从参数执行自定义操作。?
【发布时间】:2014-03-13 06:56:38
【问题描述】:

我已使用以下命令以静默模式成功安装了我的 msi。

msiexec /i mysetup.msi /qn ADDLOCAL=myfeature

另外,我的 installsequence 中有一个自定义操作,它是一些配置的 gui。而且我不希望在以静默模式安装时出现该 gui。有没有办法在安装 msi 时传递参数以跳过自定义操作。提前致谢。

【问题讨论】:

    标签: wix custom-action windows-installer


    【解决方案1】:

    将您的自定义操作放入 InstallUISequence。在静默安装期间将跳过 InstallUISequence。

    【讨论】:

      【解决方案2】:

      如果您只想将参数传递给 MSI,以便可以使用给定参数以静默模式安装它,您可以将它们作为属性添加到命令行中。这些将覆盖 MSI 属性表中最终定义的属性的值。
      IE。要将属性 MYPROPERTY 设置为值 MyValue,请将以下内容添加到命令行:

      msiexec /i mysetup.msi /qn ADDLOCAL=myfeature MYPROPERTY=MyValue
      

      在您的自定义操作中,只需引用该属性。如果安装了 GUI,您可以在自定义操作提供的 GUI 中进行设置。

      【讨论】:

        【解决方案3】:

        @Nimish 和@taffit 的答案+1。

        如果您没有安装程序的源代码,或者您无法修改它们,您可以尝试不同的方法:

        • 在 Orca 中打开 MSI 文件并将该自定义操作的条件修改为 0

        • 生成一个转换并将其保存在某处,例如如diff.mst

        • 像这样修改你的命令行:

          msiexec /i mysetup.msi TRANSFORMS=diff.mst /qn ADDLOCAL=myfeature

        【讨论】:

          猜你喜欢
          • 2022-11-13
          • 2014-03-12
          • 2023-03-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-07-18
          • 2011-06-03
          相关资源
          最近更新 更多