WiX безоговорочно выполняет приложение - PullRequest
0 голосов
/ 14 августа 2010

ало Все.

Моя проблема двоякая.У меня есть проект 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" создает исключение, когда два пользовательских действия имеют одинаковую настройку.

Как выполнить приложение, местоположение которого неизвестно - но предполагается, что оно находится в том же каталоге установщика - безоговорочно?

Благодарю всех за потраченное время и добрые ответы

1 Ответ

1 голос
/ 14 августа 2010

Вы можете проверить документацию WiX о том, как запустить приложение после установки: http://wix.sourceforge.net/manual-wix3/run_program_after_install.htm. Это даст вам указатели на набор диалогов WiI UI, который вы можете настроить при необходимости.SourceDir - очень сложная вещь: http://robmensching.com/blog/posts/2010/1/26/StackOverflow-what-does-NameSourceDir-refer-to. В идеале вы должны запускать приложение, установленное вместо носителя.

...