Моя установка 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
?Или есть способ запустить CustomAction только в тихом базовом режиме в Wix.