Я разработал службу Windows вместе с проектом установки с использованием Visual Studio 2008. Когда я выполняю установку обновления, я получаю следующее предупреждение:Как остановить службу Windows для установки обновления?
Следующие приложения используют файлы, которые должен обновить установщик. Вы можете закрыть приложения и нажать «Попробовать снова» или нажать «Продолжить», чтобы программа установки продолжала установку и заменяет эти файлы при перезагрузке системы.
Я хотел бы остановить службу Windows во время установки обновления. Я попытался создать настраиваемое действие и переопределить метод OnBeforeInstall, однако это вызвано слишком поздно после появления всплывающего сообщения с предупреждением.
Есть ли способ выполнить это как часть установщика MSI. Я бы предпочел не делать это как отдельную задачу перед исполнением установщика MSI.
Update:
на основе дальнейших исследований я обнаружил, что база данных MSI не поддерживает это, однако встроенный инсталлятор Visual Studio (настройки) проекты не обеспечивают средства, чтобы сделать это. Нужно либо настроить базу данных MSI, либо использовать WiX или коммерческий установщик.
Вы можете выполнить команду оболочки из программы установки? Если это так, вы можете запустить net stop _service name_ как одну из своих первых задач, чтобы убить его. –
Уг, не делай этого. Установщик Windows изначально поддерживает функции остановки/запуска. Просто используйте таблицу ServiceControl. –