Процесс обновления службы Windows? Автоматизированный или это ручной? - PullRequest
5 голосов
/ 29 октября 2008

Если у меня есть служба Windows на сервере, какова «лучшая практика» для обновления службы? (скажем, в нем была ошибка, или мне нужно добавить в нее больше функций).

Есть ли способ, которым я мог бы отключить службу, исправить ее и запустить ее более автоматизированным способом?

(любые ссылки с кодом были бы хороши)

Ответы [ 3 ]

1 голос
/ 29 октября 2008

Зависит от того, как написана ваша служба - монолитный EXE - вам нужно будет остановить и перезапустить ее, используя процесс выбора, например, Установщик, Script + Service Control, пакетный режим и NET STOP / START и т. Д.

Если вы структурируете это немного по-другому, например, загрузочный EXE загружает реализацию вашего сервиса в виде модулей, которые можно выгружать / перезагружать, тогда вы можете вести другой разговор. Это, конечно, немного сложнее.

У меня был некоторый успех в C # с таким решением для хостинга, похожий разговор здесь:

Я хочу, чтобы служба Windows C # автоматически обновлялась

1 голос
/ 29 октября 2008

Ну, вы всегда можете запустить версию в программе установки (если вы ее использовали) и запустить ее, исходя из моего опыта, она перекрывает старые версии с более новой.

Или вы можете просто закрыть службу, скопировать новый .exe (и зависимости, если таковые имеются) и запустить его обратно. Все это может быть сделано с помощью сценариев и функций запуска / остановки NET, которые я себе представляю.

Я уверен, что есть лучший способ сделать это, чем этот ...

0 голосов
/ 29 октября 2008

InstallShield поддерживает службы Windows. Использование установщиков сделает вашу задачу намного проще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...