Как обновить установленную службу Windows?

Я написал службу Windows на С#.

С тех пор я установил его на свою машину, и он работает отлично.

Когда вы устанавливаете службу, exe где-то копируется? Или он указывает на мою папку с bin?

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

Ответ 1

Если местоположение службы Windows не изменилось и имя его исполняемого файла не изменилось, его не следует удалять и переустанавливать.

Вы можете просто остановить службу, обновить ее исполняемый файл новой версией и запустить ее снова.

Этот подход надежно работал для меня в течение многих месяцев разработки Windows-сервисов, в ходе которых я просто обновлял сервисы ServiceBase, частные методы и т.д.; и это приводит к довольно быстрому итерационному развитию, когда у вас есть команды net stop и net start для ваших сервисов (ов) в истории командного окна, чтобы просто Alt + Tab, назад в историю и нажмите Enter, когда вы найдите нужную команду.

Ответ 2

Вы можете проверить путь к установленному сервису, открыв services.msc из Run. Затем щелкните правой кнопкой мыши вашу службу и посмотрите "Путь к исполняемому файлу".

Если это указывает на ваш каталог bin, он будет обновляться каждый раз, когда вы скомпилируете файл.

enter image description here

Ответ 3

Вам необходимо удалить старую службу Windows и установить новую версию службы Windows.

удаление:

   installutil /u yourproject.exe

установить:

   installutil yourproject.exe