На днях была поставлена задача добавить сервис в windows. После чтения кучи литературы выбрал следующий способ:
- Берется srvany.exe из Windows Server 2003 Resource Kit. Копируется в %windir%/system32/
- От администратора выполняется создание сервиса(в данном случае запуск openoffice в headless режиме): sc create "openofficeserver" binPath= "\"C:\Program Files (x86)\OpenOffice.org 3\program\soffice.exe\" -headless -accept=\"socket,host=127.0.0.1,port=8100;urp;StarOffice.Service\" -nofirststartwizard" DisplayName= "OpenOffice 3.4.1 Server" start= auto . Где "openofficeserver" - имя сервиса, display name - имя сервиса который будет отображаться в services.msc. При удачном выполнении увидим [SC] CreateService SUCCESS
- Правим реестр. Запускаем regedit и идем в HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\openofficeserver. Копируем в блокнот содержание ключа ImagePath. И меняем его на c:\windows\system32\srvany.exe. Создаем ключ Parameters(выглядит как папка). В котором создаем ключ Application типа string и вставляем наше значение из блокнота.
- Для добавлении зависимости нашего сервиса от сервиса А(название сервисов так же смотрится в HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\) необходимо выполнить от администратора: sc config openofficeserver depend= ServiceA . Для удаления: sc config openofficeserver depend= / . Если зависимость от нескольких сервисов: sc config openofficeserver depend= ServiceB/ServiceC/ServiceD
- Запускаем сервис через services.msc
- Проверяем что сервис запущен: netstat -nao|findstr -c":8100"
Комментариев нет:
Отправить комментарий