我的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
中运行自定义操作。
以下是我的问题:如何在InstallExecuteSequence
或CustomAction
中检测到{{1}}?或者有没有办法只在Wix中以安静的基本模式运行CustomAction。
答案 0 :(得分:2)
您应该通过UILevel = 3
来调整自定义操作的条件