Запустить приложение Windows как сервис? - PullRequest
3 голосов
/ 20 мая 2010

Какой самый чистый и надежный способ запустить приложение Windows как службу, не затрагивая ее код?

Вариант использования: 64-битная версия NorthScale для Windows memcached работает как универсальное приложение. Я хотел бы вставить его в Windows 2003 или 2008 Service, чтобы я мог запустить / остановить / перезапустить / и т.д. через стандартный интерфейс.

Ответы [ 3 ]

5 голосов
/ 20 мая 2010

Windows Resource Kit имеет любой исполняемый файл, srvany.exe, который можно использовать, как описано здесь , для запуска практически любого exe-файла в качестве службы. Настройка немного запутанная (требуется редактирование реестра), но она должна работать для большинства вещей, которые можно запускать как пользовательское приложение.

1 голос
/ 20 мая 2010

Если вы не можете изменить приложение, существует множество обёрток «Запуск от имени службы».
Я использовал cygrunsrv.exe, думаю, он работает с исполняемыми файлами не-cygwin.

0 голосов
/ 20 мая 2010

Если вы не можете изменить код, то вы не можете напрямую запустить приложение как сервис. Однако сделать услугу Win32 не должно быть трудным - все вращается вокруг вызова одного API: StartServiceCtrlDispatcher . В ответ на команды от диспетчера управления службами ваш сервис-обертка будет создавать CreateProcess и т. Д. В приложении memcached.

...