Добавление условий запуска в проекты установщика Microsoft Visual Studio (проверьте, запущено ли приложение) - PullRequest
0 голосов
/ 25 февраля 2019

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

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

1 Ответ

0 голосов
/ 25 февраля 2019

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


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

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

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

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


Ссылки :

...