Wix CustomAction仅在基本模式下运行

时间:2011-11-07 12:02:33

标签: wix msiexec

我的wix 3.5设置可以在正常安装情况下下载并运行。我还使用相同的msi进行更新,并在应用程序本身内使用msiexec(基本安静界面)调用/qb

一切都好到这里。在正常设置中,我可以选择在安装时启动应用程序(取自教程)并且工作正常。

<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Start $(var.AppName) $(var.ExeVersion) now..." />
<Property Id="WixShellExecTarget" Value="[#$(var.AppName).exe]" />
<CustomAction Id="LaunchApplication" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" />

我希望我的更新安静,并在成功安装后启动更新的应用程序。为了做到这一点,我在InstallExecuteSequence

中有这样的自定义操作
<InstallExecuteSequence>
  <RemoveExistingProducts After="InstallFinalize"/>
  <Custom Action="LaunchApplication"
          After="RemoveExistingProducts"/>
</InstallExecuteSequence>

这也没关系,但很明显,现在我的应用程序会自动启动正常(非/ qb)设置。为了解决这个问题,我想我需要检测UILevel我是INSTALLUILEVEL_BASIC并仅在UILevel中运行自定义操作。

以下是我的问题:如何在InstallExecuteSequenceCustomAction中检测到{{1}}?或者有没有办法只在Wix中以安静的基本模式运行CustomAction。

1 个答案:

答案 0 :(得分:2)

您应该通过UILevel = 3

来调整自定义操作的条件