Installshield Запустите EXE, затем дождитесь завершения, прежде чем запускать другой - PullRequest
2 голосов
/ 20 августа 2010

Я использую Installshield и успешно запустил установочные файлы exe (например, KLite) после того, как все мои файлы были перенесены в целевое место назначения.

Мой вопрос такой:

В настоящее время я могу запустить все необходимые установки exe, но все они запускаются одновременно, что может быть довольно раздражающим и беспорядочным. Я использую «Custom Action» для запуска каждого исполняемого файла. Я пробую разные свойства "Выполнение в скрипте", но безрезультатно. Моя «Обработка возврата» установлена ​​на «Асинхронный» («Ждет код выхода»), но это все еще вызывает у меня проблемы.

Я бы хотел, чтобы каждый из них выполнялся после завершения предыдущего.

Кто-нибудь имеет опыт в этом? Это должно быть возможно ...

Спасибо, -Kyle

1 Ответ

3 голосов
/ 20 августа 2010

Вы хотите синхронизировать не ASync. Кстати, я не рекомендую EXE CA, за исключением редких ситуаций. В первую очередь потому, что они вышли из процесса с очень ограниченной способностью сообщать об успешном завершении и 0 возможностью записи в журнал установщика Windows и имеют очень непрофессиональное мигание окон DOS CMD.

Всегда старайтесь использовать вместо этого пользовательские действия C ++ / C #.

Также обязательно прочитайте следующее:

Препятствия интеграции для пользовательских действий EXE http://blogs.msdn.com/b/windows_installer_team/archive/2007/10/20/integration-hurdles-for-exe-custom-actions.aspx

Если вам необходимо использовать EXE, обязательно используйте что-то вроде WiX QuiteCA (вы можете обернуть это в модуль слияния WiX и использовать его с вашим проектом InstallShield Basic MSI), чтобы защитить вас от этих проблем и улучшить ведение журнала.

...