Для выполнения этой операции нам понадобятся две утилиты: srvany.exe и instsrv.exe, входящие в состав Windows Server 2003 Resource Kit Tools.
Скачиваем и устанавливаем Windows Server 2003 Resource Kit Tools.
При установке под Windows 7 может появиться предупреждение о несовместимости — игнорируем его.
Предположим, что в качестве службы нам нужно запустить некий исполняемый файл — program.exe, расположенный в C:\Program Files\Program.
Из директории установки Resource Kit Tools (обычно C:\Program Files\Windows Resource Kits\Tools) копируем srvany.exe и instsrv.exe в папку где расположен наш program.exe(C:\Program Files\Program).
В этой же папке создаем текстовый файл program.reg со следующим содержанием:
В этой же папке создаем текстовый файл program.reg со следующим содержанием:
1 | Windows Registry Editor Version 5.00 |
2 |
3 | [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ProgramService\Parameters] |
4 | "Application"="c:\\Program Files\\Program\\program.exe" |
5 | "AppDirectory"="c:\\Program Files\\Program\\" |
Обратите внимание на двойной слэш в путях — это не опечатка, так должно быть. ProgramService — это имя службы. Вы можете выбрать любое, главное, чтобы оно не совпадало с уже существующими.
Теперь открываем командную строку. В Vista и Windows 7 командная строка должна быть обязательно запущена от имени администратора (правый клик на ярлыке командной строки, выбрать пункт «Запуск от имени администратора»). В командной строке выполняем:
1 | c: |
2 | cd \ |
3 | cd "program files\program" |
4 | instsrv ProgramService "c:\program files\program\srvany.exe" |
В результате вы должны получить ответ: The service was successfuly added (служба успешно добавлена). Если же вы получили сообщение: You are not authorized to do this — please contact your system administrator — скорее всего, командная строка запущена как обычно, а не от имени администратора.
Далее двойной щелчок по ранее созданному файлу program.reg, запрос на внесение изменений в реестр подтверждаем.
На этом все. Осталось перезагрузиться и проверить работоспособность службы.
Удаление службы.
Вариант 1. Остановить службу, затем вручную удалить ключи реестра и файлы.
Вариант 2. Остановить службу, в командной строке выполнить:
1 | c: |
2 | cd \ |
3 | cd "program files\program" |
4 | instsrv ProgramService remove |
Это не универсальный вариант, он работает только со службами установленными с помощью instsrv.