В этой маленькой статье я попытаюсь рассказать как добавить свою службу в операционной системе Windows.
И так для начала нам понадобится программа nssm (ссылка для скачивания) именно эта программа умеет добавлять службы, однако у неё есть недостатки: запуск службы происходит непосредственно через неё то есть мы должны будем постоянно держать ее включенной (хотя она потребляет небольшое количество оперативной памяти). В то же время именно эта особенность позволяет ей запускать практически любые программы в качестве службы (у большинства программ отсутствует поддержка их запуска в качестве службы).
Для начала скачаем саму программу с официального сайта.
Распаковываем архив и перемещаем программу nssm.exe (просто копируем бинарник в зависимости от того какой у вас Windows 32 или 64 бит, 32 битную можно использовать в обоих случаях) какую-нибудь постоянную директорию откуда мы ещё и будем запускать, например я помещу в директорию C:Program Files (x86)nssmnssm.exe
Решение! Служба профилей пользователей препятствует входу в систему. User Profile Service Service.
От этой директории будут зависеть все последующие команды.
Теперь нам нужно запустить командную строку, быстро это можно сделать так: Win + R и набрать cmd после чего нажать клавишу Enter.
Теперь в командной строке вводим:
cd C:Program Files (x86)nssm nssm.exe install
Программа попросит у нас права администратора для установки службы и появится окошко для указания название службы (Service name) и пути к программе (Path) и другие настройки если они вам нужны. После указания название службы и пути к программе нажимаем кнопку Install service, и у нас должно быть появится окошко подтверждающие что служба установлена в противном случае будет написано ошибка и причина которой она вызвана.
Но установленная служба еще не запущена, запустите ее можно, например перезагрузив компьютер или вручную для этого нажимаем сочетание клавиш Win + R вводим services.msc и нажимаем клавишу Enter. Находим нашу службу кликаем по ней правой кнопкой и выбираем пункт запустить.
Источник: cool-comp.ru
Как запустить программу как службу
Для запуска как службы, программа должна иметь правильный формат и корректно оформленную точку входа. Утилита Any Service позволяет перенаправить вызов при запуске приложения таким образом, что программа запускается из службы, сама таковой не являясь.
Статьи по теме:
- Как запустить программу как службу
- Как включить планировщик заданий
- Как перезапустить процесс
Вам понадобится
- — Any Service.
Инструкция
Скачайте утилиту Any Service. Программа является бесплатной, занимает всего 49 Кб и не требует установки. Интерфейс приложения очень прост и дополнен всплывающими подсказками. Откройте инструмент Any Service для выполнения первичных настроек создаваемой службы.
Не работает служба политики диагностики в Windows 7?
Введите полный путь к исполнительному файлу нужного приложения в поле «Путь к исполнительному файлу» открытого окна программы.
Присвойте новое имя создаваемой службе в поле «Имя службы».
Введите понятную пользователю информацию, описывающую новую службу, в поле «Описание службы».
Примените флажок на поле «Взаимодействие с рабочим столом» для отображения значка создаваемой службы в системном трее.
Примените флажок на поле «Автозапуск службы» для включения функции автоматического сервиса.
Примените флажок на поле «Запустить сразу после создания» для проверки рабочих параметров службы сразу после окончания операции.
Нажмите кнопку «Создать» для выполнения команды.
Проверьте работу вновь созданной службы. Для этого нажмите кнопку «Службы» в меню программы, открывающую политику групповых оснасток.
Произведите настройку параметров новой службы по аналогии с другими системными сервисами.
Нажмите кнопку «Удаление» в главном окне программы для удаления выбранного сервиса.
Выберите ненужную службу из списка в открывшемся диалоговом окне Remove services и нажмите кнопку «Удалить».
Используйте служебные программы Instsrv.exe и Sravny.exe, отвечающие за установку и удаление системных служб из операционной системы и выполнение в качестве сервиса любого приложения Windows и входящие в набор Resource Kit, для альтернативного метода запуска приложения как службы (только для продвинутых пользователей, обладающих опытом работы с системным реестром Windows).
Источник: www.kakprosto.ru
Запуск программы как службы Windows
Для выполнения этой операции нам понадобятся две утилиты: srvany.exe и instsrv.exe, входящие в состав Windows Server 2003 Resource Kit Tools.
Скачиваем и устанавливаем Windows Server 2003 Resource Kit Tools.
При установке под Windows 7 может появиться предупреждение о несовместимости — игнорируем его.
Предположим, что в качестве службы нам нужно запустить некий исполняемый файл — program.exe, расположенный в C:Program FilesProgram.
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesProgramServiceParameters] «Application»=»c:\Program Files\Program\program.exe» «AppDirectory»=»c:\Program Files\Program\»
Обратите внимание на двойной слэш в путях — это не опечатка, так должно быть. ProgramService — это имя службы. Вы можете выбрать любое, главное, чтобы оно не совпадало с уже существующими.
Теперь открываем командную строку. В Vista и Windows 7 командная строка должна быть обязательно запущена от имени администратора (правый клик на ярлыке командной строки, выбрать пункт «Запуск от имени администратора»). В командной строке выполняем:
c: cd cd «program filesprogram» instsrv ProgramService «c:program filesprogramsrvany.exe»
В результате вы должны получить ответ: The service was successfuly added (служба успешно добавлена). Если же вы получили сообщение: You are not authorized to do this — please contact your system administrator — скорее всего, командная строка запущена как обычно, а не от имени администратора.
Далее двойной щелчок по ранее созданному файлу program.reg, запрос на внесение изменений в реестр подтверждаем.
На этом все. Осталось перезагрузиться и проверить работоспособность службы.
Удаление службы.
Вариант 1. Остановить службу, затем вручную удалить ключи реестра и файлы.
Вариант 2. Остановить службу, в командной строке выполнить:
c: cd cd «program filesprogram» instsrv ProgramService remove
Это не универсальный вариант, он работает только со службами установленными с помощью instsrv.
- Метки Windows 7, Windows Vista, Windows XP, Службы Windows
Источник: www.q2w3.ru