Остановите службу перед установкой - PullRequest
2 голосов
/ 30 июня 2011

Я написал приложение, которое устанавливается с помощью проекта установки Visual Studio 2010. Как часть его установки, мое приложение устанавливает и запускает службу Windows. Там нет проблем.

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

Как я могу остановить службу до того, как MSI начнет копировать файлы? Я рассматриваю пользовательский загрузчик (обязательное условие установки), который не устанавливается, но удаляет службу Или я могу использовать Orca, чтобы добавить действие перед установкой? Или ты знаешь другой путь?

1 Ответ

3 голосов
/ 30 июня 2011

Обычно это делается с помощью операций управления службами . В основном, вам нужно установить флаги Stop и Delete для удаления.

Другой подход заключается в использовании ServiceInstaller.Uninstall в настраиваемом действии для остановки и удаления службы.

Если вы хотите избежать диалога использования файлов, вы можете попробовать этот подход: Проблема с остановкой службы Windows из класса установщика. События начинаются слишком поздно

...