Добавление условий запуска в проекты установщика Microsoft Visual Studio (проверьте, запущено ли приложение)

Я использую проекты установщика Microsoft Visual Studio для своего проекта Hybrid Widndows Forms/WPF. Мне нужно убедиться, что пользователь закрыл Приложение (более старую версию), если оно активно, прежде чем установщик сможет продолжить работу. Может ли это быть возможно с проектом установщика Visual Studio?

До сих пор я видел только то, что установщик по умолчанию добавляет зависимость в.NET Framework, и он не будет работать, если сначала не установить зависимость.

1 ответ

ОБНОВЛЕНИЕ: диалоговое окно Windows Installer-Avoid FileinUse при установке пакета для получения списка возможных альтернативных вариантов в дополнение к поддержке RestartManager.


RestartManager: функция RestartManager в MSI разработана, чтобы позволить вашему приложению корректно завершить работу и перезапустить себя во время процесса установки. Как добавить поддержку Windows Restart Manager в мое приложение? (Расширенный установщик)

По сути: вся идея заключается в том, чтобы предпочесть перезапуск приложений, а не перезапуск ОС. С этой целью:

  1. Ваше приложение звонит RegisterApplicationRestart() с командной строкой, указанной для его возможного перезапуска - он "регистрируется" для управления перезапуском.
  2. Ваше приложение следит за WM_QUERYENDSESSION сообщения и завершает работу, сохраняя данные соответствующим образом, когда это сказано.
  3. Затем RestartManager может перезапустить приложение после завершения установки (перезапуск можно отключить).

Важность: просто констатирую очевидное: перезагрузка ПК, работающего в сфере знаний, представляет собой серьезную проблему, и именно поэтому вы должны действительно добавить поддержку RestartManager в свое приложение. Это очень помогает для крупномасштабного развертывания, где вы можете использовать 16000 ПК. Также избегайте установки REINSTALLMODE в amus (принудительная перезапись), что может вызвать ненужные запросы перезагрузки. PS: Убедитесь, что ребята из вашего QA понимают и знают, как проверить функциональность / сценарий.


Ссылки:

Другие вопросы по тегам