Как запустить приложение как службу

Ответить


Этот вопрос предназначен для предотвращения автоматической отправки форм спам-ботами.
Смайлики
:| :) :wink: :D :lol: :( :cry: 8) :o :oops: :? :x :P :evil: :twisted: :roll: :!: :?: :idea: :arrow: :mrgreen:
Ещё смайлики…

Markdown is OFF

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ВКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Как запустить приложение как службу

Как запустить приложение как службу

UncleFather » 05 окт 2011 18:01, Ср

Проблема:

Необходимо запускать произвольное приложение как службу (сервис).

Решение:

Способ первый:

Воспользуемся утилитами от Microsoft:

они входят в состав Resource Kit, например Windows NT Resource Kit Support Tools или Windows 2003 Server Resource Kit Tools

Далее:

  1. Распаковываем архивы с файлами InstSrv.exe и SrvAny.exe в системную папку Windows: %windir%\system32

  2. Выполняем команду:

    Код: Выделить всё

    %windir%\system32\InstSrv.exe Моя_служба %windir%\system32\SrvAny.exe

    здесь "Моя_служба" - произвольное имя для новой службы
    Пример:

    Код: Выделить всё

    C:\Program Files\Resource Kit\Instsrv.exe Notepad C:\Program Files\Resource Kit\Srvany.exe

    Если всё сделано правильно, то появится сообщение, подтверждающее успешное создание сервиса (The service was successfuly added)

    Для проверки правильности создания службы убедитесь, что параметр ImagePath в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Моя_служба указывает на SrvAny.exe. Если этот параметр установлен неправильно, служба прекращает работу вскоре после запуска и возвращает код события 7000 — «Не удается запустить Моя_служба».

  3. В реестре по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Моя_служба создаем раздел Paremeters

  4. В этом разделе создаем строковый параметр Application (тип REG_SZ) со значением "<путь>\<application.ext>"
    где <путь>\<application.ext> — это буква диска и полный путь к исполняемому файлу приложения, включая расширение (например C:\WinNT\Notepad.exe)

По-умолчанию вновь созданная служба настроена на автоматический запуск при перезагрузке системы. Для изменения этого режима на «Вручную», необходимо запустить приложение «Службы» из панели управления и изменить значение параметра на «Вручную».
Для работы созданного сервиса в отдельном окне необходимо отметить на второй вкладке (Вход в систему) пункт Allow Service to Interact with Desktop (Разрешить взаимодействие с рабочим столом).

Запустить сервис, если он не отключен, можно несколькими способами:

Во-первых - через командную строку:

Код: Выделить всё

Net Start Моя_служба

где Моя_служба - имя службы, заданное на шаге 1.

Во-вторых - непосредственно через апплет административной панели - службы (servisec.msc).

Чтобы удалить сервис:

  1. Останавливаем сервис:

    Код: Выделить всё

    net stop Моя_служба
  2. Удаляем сервис:

    Код: Выделить всё

    InstSrv Моя_служба remove

Оригинал статьи на Microsoft

Способ второй

Качаем утилиту "SrvInstw.exe"

srvinstw.rar
SrvInstw
(28.23 КБ) 2276 скачиваний

Зеркало
и, в графическом интерфейсе, где все понятно и без подсказок, выполняем все шаги.


Вернуться к началу