Russian English German Ukrainian

Компьютерная помощь

(066) 72-00-654     (098) 44-74-068

г. Днепр

ж/м Левобережный-3

Windows: запуск программы как службы


Для выполнения этой операции нам понадобятся две утилиты: srvany.exe и instsrv.exe, входящие в состав Windows Server 2003 Resource Kit Tools.

Вариант 1

Скачиваем и устанавливаем 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 со следующим содержанием:

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 remo

Это не универсальный вариант, он работает только со службами установленными с помощью instsrv.



Вариант 2

Открываем командную консоль cmd и вводим такую команду:

>путь\INSTSRV.EXE ИМЯ_СЛУЖБЫ путь\SRVANY.EXE

Например:

>"C:\program files\Windows Resource Kit\INSTSRV.EXE" my_service "C:\program files\Windows Resource Kit\SRVANY.EXE"

,где файлы INSTSRV.EXE и SRVANY.EXE – находятся в папке с Windows Resource Kit.

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

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\имя_службы

Если эта ветка есть, значит всё нормально и можно приступать к настройке. По умолчанию создаётся 2 ветки Enum и Security. Нам же понадобиться создать раздел Parameters и в нём создадим параметр типа REG_SZ с именем Application и значением «ПУТЬ_К_ИСПОЛНЯЕМОМУ_ФАЙЛУ». В нашем случае это будет путь к скрипту cmd:

d:\scripts\my_service.cmd

Выходим из редактора.
Не забудьте выставить в настройках службы на вкладке «Восстановление» перезапуск службы при сбоях.

Вариант 3

Для выполнения этой операции нам понадобятся две утилиты: srvany.exe и instsrv.exe, входящие в состав 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 со следующим содержанием:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ProgramService\Parameters]
"Application"="c:\\Program Files\\Program\\program.exe"
"AppDirectory"="c:\\Program Files\\Program\\"

Обратите внимание на двойной слэш в путях — это не опечатка, так должно быть. ProgramService — это имя службы. Вы можете выбрать любое, главное, чтобы оно не совпадало с уже существующими. Теперь открываем командную строку. В Vista и Windows 7 командная строка должна быть обязательно запущена от имени администратора (правый клик на ярлыке командной строки, выбрать пункт «Запуск от имени администратора»). В командной строке выполняем:

c:
cd \
cd "program files\program"
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. Остановить службу, в командной строке выполнить:

c:
cd \
cd "program files\program"
instsrv ProgramService remove

Это не универсальный вариант, он работает только со службами установленными с помощью instsrv.

Вариант 4

Открываем командную консоль cmd и вводим такую команду:

>путь\INSTSRV.EXE ИМЯ_СЛУЖБЫ путь\SRVANY.EXE

 Например:

>"C:\program files\Windows Resource Kit\INSTSRV.EXE" my_service "C:\program files\Windows Resource Kit\SRVANY.EXE"

где файлы INSTSRV.EXE и SRVANY.EXE – находятся в папке с Windows Resource Kit.

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

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\имя_службы

Если эта ветка есть, значит всё нормально и можно приступать к настройке. По умолчанию создаётся 2 ветки Enum и Security. Нам же понадобиться создать раздел Parameters и в нём создадим параметр типа REG_SZ с именем Application и значением «ПУТЬ_К_ИСПОЛНЯЕМОМУ_ФАЙЛУ». В нашем случае это будет путь к скрипту cmd:

d:\scripts\my_service.cmd

Выходим из редактора. Не забудьте выставить в настройках службы на вкладке «Восстановление» перезапуск службы при сбоях.

  • Сборка ПК для дома и офиса

  • Бесплатная диагностика

  • Гарантия

  • Самые низкие цены