UncleFather » 05 окт 2011 18:01, Ср
Проблема:
Необходимо запускать произвольное приложение как службу (сервис).
Решение:
Способ первый:
Воспользуемся утилитами от Microsoft:
они входят в состав Resource Kit, например Windows NT Resource Kit Support Tools или Windows 2003 Server Resource Kit Tools
Далее:
-
Распаковываем архивы с файлами InstSrv.exe и SrvAny.exe в системную папку Windows: %windir%\system32
-
Выполняем команду:
Код: Выделить всё
%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 — «Не удается запустить Моя_служба».
-
В реестре по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Моя_служба создаем раздел Paremeters
-
В этом разделе создаем строковый параметр Application (тип REG_SZ) со значением "<путь>\<application.ext>"
где <путь>\<application.ext> — это буква диска и полный путь к исполняемому файлу приложения, включая расширение (например C:\WinNT\Notepad.exe)
По-умолчанию вновь созданная служба настроена на автоматический запуск при перезагрузке системы. Для изменения этого режима на «Вручную», необходимо запустить приложение «Службы» из панели управления и изменить значение параметра на «Вручную».
Для работы созданного сервиса в отдельном окне необходимо отметить на второй вкладке (Вход в систему) пункт Allow Service to Interact with Desktop (Разрешить взаимодействие с рабочим столом).
Запустить сервис, если он не отключен, можно несколькими способами:
Во-первых - через командную строку:
где Моя_служба - имя службы, заданное на шаге 1.
Во-вторых - непосредственно через апплет административной панели - службы (servisec.msc).
Чтобы удалить сервис:
-
Останавливаем сервис:
-
Удаляем сервис:
Оригинал статьи на Microsoft
Способ второй
Качаем утилиту "SrvInstw.exe"
Зеркало
и, в графическом интерфейсе, где все понятно и без подсказок, выполняем все шаги.
[b]Проблема:[/b]
Необходимо запускать произвольное приложение как службу (сервис).
[b]Решение:[/b]
[size=150]Способ первый:[/size]
Воспользуемся утилитами от Microsoft:
[list][*] InstSrv.exe
[attachment=2]instsrv.rar[/attachment]
[url=http://depositfiles.com/files/ox9e97i07]Зеркало[/url]
[*] SrvAny.exe
[attachment=1]srvany.rar[/attachment]
[url=http://depositfiles.com/files/8qwwlz21f]Зеркало[/url][/list]
они входят в состав Resource Kit, например [url=http://www.microsoft.com/download/en/details.aspx?id=19109]Windows NT Resource Kit Support Tools[/url] или [url=http://www.microsoft.com/download/en/details.aspx?id=17657]Windows 2003 Server Resource Kit Tools[/url]
Далее:
[list=1]
[*] Распаковываем архивы с файлами InstSrv.exe и SrvAny.exe в системную папку Windows: [b][i]%windir%\system32[/i][/b]
[*] Выполняем команду:
[code]%windir%\system32\InstSrv.exe Моя_служба %windir%\system32\SrvAny.exe[/code]
здесь "Моя_служба" - произвольное имя для новой службы
Пример:
[code]C:\Program Files\Resource Kit\Instsrv.exe Notepad C:\Program Files\Resource Kit\Srvany.exe[/code]
Если всё сделано правильно, то появится сообщение, подтверждающее успешное создание сервиса ([i]The service was successfuly added[/i])
Для проверки правильности создания службы убедитесь, что параметр [b][i]ImagePath[/i][/b] в разделе [b][i]HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Моя_служба[/i][/b] указывает на [b][i]SrvAny.exe[/i][/b]. Если этот параметр установлен неправильно, служба прекращает работу вскоре после запуска и возвращает код события 7000 — [b][i]«Не удается запустить Моя_служба»[/i][/b].
[*] В реестре по адресу [b][i]HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Моя_служба[/i][/b] создаем раздел [b][i]Paremeters[/i][/b]
[*] В этом разделе создаем строковый параметр [b][i]Application[/i][/b] (тип REG_SZ) со значением [b][i]"<путь>\<application.ext>"[/i][/b]
где [b][i]<путь>\<application.ext>[/i][/b] — это буква диска и полный путь к исполняемому файлу приложения, включая расширение (например C:\WinNT\Notepad.exe)[/list]
По-умолчанию вновь созданная служба настроена на автоматический запуск при перезагрузке системы. Для изменения этого режима на «Вручную», необходимо запустить приложение «Службы» из панели управления и изменить значение параметра на «Вручную».
Для работы созданного сервиса в отдельном окне необходимо отметить на второй вкладке (Вход в систему) пункт Allow Service to Interact with Desktop (Разрешить взаимодействие с рабочим столом).
[b]Запустить сервис[/b], если он не отключен, можно несколькими способами:
[b][i]Во-первых[/i][/b] - через командную строку: [code]Net Start Моя_служба[/code]
где [b][i]Моя_служба[/i][/b] - имя службы, заданное на шаге 1.
[i][b]Во-вторых[/b][/i] - непосредственно через апплет административной панели - службы (servisec.msc).
Чтобы удалить сервис:
[list=1][*] Останавливаем сервис: [code]net stop Моя_служба[/code]
[*] Удаляем сервис:
[code]InstSrv Моя_служба remove[/code][/list]
[url=http://support.microsoft.com/kb/137890]Оригинал статьи на Microsoft[/url]
[size=150]Способ второй[/size]
Качаем утилиту [b][i]"SrvInstw.exe"[/i][/b][attachment=0]srvinstw.rar[/attachment]
[url=http://depositfiles.com/files/29itmjvn4]Зеркало[/url]
и, в графическом интерфейсе, где все понятно и без подсказок, выполняем все шаги.