ало Все.
Моя проблема двоякая.У меня есть проект WiX, над которым я работаю, и мне было поручено заставить его выполнять программу независимо от того, нажал ли пользователь кнопку «Отмена», установку прервал (через уже существующую версию) или пользователь успешно завершил установку.
В настоящее время я использую встроенную систему diaglog:
<UIRef Id="WixUI_InstallDir" />
В настоящее время я очень успешно выполнил приложение после завершения установки.Трудность заключалась в том, что приложение находится в том же месте, где находится установщик, и я не могу гарантировать, где это будет.Поэтому я использовал следующий метод для запуска программы после успешной установки:
<InstallExecuteSequence>
<Custom Action="PreventDowngrading" After="FindRelatedProducts">NEWPRODUCTFOUND</Custom>
<RemoveExistingProducts After="InstallInitialize" />
<Custom Action="PropertyAssign" Before="InstallFinalize">NOT Installed</Custom>
<Custom Action="LaunchFile" After="InstallFinalize">NOT Installed</Custom>
</InstallExecuteSequence>
<CustomAction Id='PropertyAssign' Property='PathProperty' Value='[SourceDir][DRIVEREXEC]' />
<CustomAction Id="LaunchFile" Property="PathProperty" ExeCommand='/S' Return="asyncNoWait" />
Два пользовательских действия используются для запуска приложения после завершения установки.Из-за этого я не могу назначить два пользовательских действия, когда программа существует.OnExit = "error" создает исключение, когда два пользовательских действия имеют одинаковую настройку.
Как выполнить приложение, местоположение которого неизвестно - но предполагается, что оно находится в том же каталоге установщика - безоговорочно?
Благодарю всех за потраченное время и добрые ответы