Запуск произвольной программы как сервиса Windows

Поскольку вечно теряю, а потом долго не могу во всём интернете найти srvany и методичку к ней, то оставлю заметку.

Запускаем InstSrv следующим образом:

путь_к_instsrv\INSTSRV.EXE MyService путь_к_svrany\SRVANY.EXE

Где «MyService» — наименование службы, под каковым она будет прописываться в реесте.

Затем топаем в реестре к ключу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService\Parameters, создаём там строковый паарметр Application, в который прописываем полный красивый путь к нашему приложению, которое хочется запускать в качестве службы. Например, я так запускаю старые версии Usergate, которые как службы сами по себе работать не умеют толком. Тогда значением параметра Application станет что-то вроде «C:\Program Files\Usergate\usergate.exe»

Также можно указать рабочий каталог для этого приложения, создав ключ AppDirectory и задав ему в качестве значения путь к исполняемому файлу приложения. В нашем примере значение AppDirectory могло бы иметь значение «*C:\Program Files\Usergate*»

Архив с instsrv и srvany в одном флаконе можно взять тут.

Собственно, в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService можно сделать ещё два строковых ключа: Description — с описанием приложения, и DisplayName — с его полным наименованием. Эти строчки будут отображаться в апплете управления системными службами вместо неинформативного «MyService».

Comments

Comments powered by Disqus