Как изменить имя службы Windows?

У меня есть приложение для Windows, разработанное на С#. Та же служба должна запускаться с различными конфигурационными файлами. Чтобы запустить их на одной машине, мне нужно будет изменить имя службы. Я могу создать несколько копий решения, но не знаю, как изменить имена служб.

Спасибо

Ответ 1

В вашем классе обслуживания win, который происходит от ServiceBase, есть свойство, которое наследуется, которое вы можете задать с именем ServiceName. Вы можете создать app.config, добавить параметр для имени службы и присвоить этому свойству класс обслуживания win. Таким образом, каждое имя службы будет уникальным, если вы измените настройку в app.config.

Ответ 2

Конфигурация служб Windows хранится в Registy под HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services.... Вам, вероятно, захочется изменить имя ключа ( "папка", и настоящее имя службы здесь) и значение "Отображаемое имя".

Возможно, было бы лучше использовать такой инструмент, как SC.EXE, для настройки служб, чтобы избежать проблем с неправильными изменениями реестра. Хотя SC не может переименовать службу на место, она позволяет вам удалять и создавать службы (просто убедитесь, что все настройки правильные!).

Ответ 3

Название службы также можно редактировать с помощью режима ProjectInstaller. В ServiceInstaller есть свойство, называемое ServiceName.