Есть ли быстрый способ чтобы, учитывая исполняемый файл, создать службу Windows, которая при запуске запускает его?
Чтобы создать службу Windows из исполняемого файла, вы можете использовать sc.exe
:
sc.exe create <new_service_name> binPath= "<path_to_the_service_executable>"
Вы должны заключать в кавычки фактический путь exe
и пробел после binPath=
.
Дополнительную информацию о команде sc
можно найти в Microsoft KB251192.
Обратите внимание, что это не будет работать для любого исполняемого файла: исполняемый файл должен быть службой Windows (т. е. реализовывать ServiceMain). При регистрации неслужебного исполняемого файла в качестве службы вы получите следующую ошибку при попытке запустить службу:
Ошибка 1053: Служба не ответила на запрос запуска или управления своевременно.
Существуют инструменты, которые могут создавать службы Windows из произвольных, неслужебных исполняемых файлов. Примеры таких инструментов см. в других ответах.