Ответ 1
Что произойдет, если вы используете
ExeCommand="[SystemFolder]cmd.exe /C start MyExe.exe"
Я googled вокруг и нашел некоторые темы как
http://wix.sourceforge.net/manual-wix3/run_program_after_install.htm
и
Запустить приложение после завершения установки с включенным UAC
но я не использую ui. Просто простая установка! Пока
<CustomAction Id="LaunchApp" Directory="INSTALLDIR" ExeCommand="[SystemFolder]cmd.exe /C MyExe.exe" />
<InstallExecuteSequence>
<RemoveExistingProducts Before="InstallInitialize" />
<Custom Action="LaunchApp" After="InstallFinalize" />
</InstallExecuteSequence>
но когда я запустил программу установки, появится окно: "Подождите, пока Windows настроит MyProgram". и поверх него появляется cmd.exe только с мигающим курсором, когда я закрываю cmd, я получаю сообщение: "В этом пакете установщика Windows есть проблема. Программа, необходимая для завершения этой установки, не может быть запущена". Хотя программа остается открытой. Как я могу сделать это правильно (без какого-либо интерфейса)? Спасибо заранее!
Что произойдет, если вы используете
ExeCommand="[SystemFolder]cmd.exe /C start MyExe.exe"
Установите Вернуть в asyncNoWait для своего пользовательского действия. Таким образом выполняется пользовательское действие, и установщик не ждет его или не проверяет его код возврата.
Я никогда не видел, чтобы программа установки, отличная от UI, запускала приложение после завершения установки. Я предполагаю, что это может быть связано с запуском вещей без явного указания пользователю (услуги, похоже, являются исключением).
У большинства мастеров-установщиков будет установлен флажок для запуска приложения или нет. Некоторые запускаются в любом случае, но на последней странице мастера обычно появляется сообщение типа "Нажмите" Готово ", чтобы запустить приложение", информируя пользователя.