Как сделать из программы службу. Создание службы в Windows


Иногда ошибки services.exe и другие системные ошибки EXE могут быть связаны с проблемами в реестре Windows. Несколько программ может использовать файл services.exe, но когда эти программы удалены или изменены, иногда остаются "осиротевшие" (ошибочные) записи реестра EXE.

В принципе, это означает, что в то время как фактическая путь к файлу мог быть изменен, его неправильное бывшее расположение до сих пор записано в реестре Windows. Когда Windows пытается найти файл по этой некорректной ссылке (на расположение файлов на вашем компьютере), может возникнуть ошибка services.exe. Кроме того, заражение вредоносным ПО могло повредить записи реестра, связанные с Windows XP. Таким образом, эти поврежденные записи реестра EXE необходимо исправить, чтобы устранить проблему в корне.

Редактирование реестра Windows вручную с целью удаления содержащих ошибки ключей services.exe не рекомендуется, если вы не являетесь специалистом по обслуживанию ПК. Ошибки, допущенные при редактировании реестра, могут привести к неработоспособности вашего ПК и нанести непоправимый ущерб вашей операционной системе. На самом деле, даже одна запятая, поставленная не в том месте, может воспрепятствовать загрузке компьютера!

В связи с подобным риском мы настоятельно рекомендуем использовать надежные инструменты очистки реестра, такие как %%product%% (разработанный Microsoft Gold Certified Partner), чтобы просканировать и исправить любые проблемы, связанные с services.exe. Используя очистку реестра , вы сможете автоматизировать процесс поиска поврежденных записей реестра, ссылок на отсутствующие файлы (например, вызывающих ошибку services.exe) и нерабочих ссылок внутри реестра. Перед каждым сканированием автоматически создается резервная копия, позволяющая отменить любые изменения одним кликом и защищающая вас от возможного повреждения компьютера. Самое приятное, что устранение ошибок реестра может резко повысить скорость и производительность системы.


Предупреждение: Если вы не являетесь опытным пользователем ПК, мы НЕ рекомендуем редактирование реестра Windows вручную. Некорректное использование Редактора реестра может привести к серьезным проблемам и потребовать переустановки Windows. Мы не гарантируем, что неполадки, являющиеся результатом неправильного использования Редактора реестра, могут быть устранены. Вы пользуетесь Редактором реестра на свой страх и риск.

Перед тем, как вручную восстанавливать реестр Windows, необходимо создать резервную копию, экспортировав часть реестра, связанную с services.exe (например, Windows XP):

  1. Нажмите на кнопку Начать .
  2. Введите "command " в строке поиска... ПОКА НЕ НАЖИМАЙТЕ ENTER !
  3. Удерживая клавиши CTRL-Shift на клавиатуре, нажмите ENTER .
  4. Будет выведено диалоговое окно для доступа.
  5. Нажмите Да .
  6. Черный ящик открывается мигающим курсором.
  7. Введите "regedit " и нажмите ENTER .
  8. В Редакторе реестра выберите ключ, связанный с services.exe (например, Windows XP), для которого требуется создать резервную копию.
  9. В меню Файл выберите Экспорт .
  10. В списке Сохранить в выберите папку, в которую вы хотите сохранить резервную копию ключа Windows XP.
  11. В поле Имя файла введите название файла резервной копии, например "Windows XP резервная копия".
  12. Убедитесь, что в поле Диапазон экспорта выбрано значение Выбранная ветвь .
  13. Нажмите Сохранить .
  14. Файл будет сохранен с расширением.reg .
  15. Теперь у вас есть резервная копия записи реестра, связанной с services.exe.

Следующие шаги при ручном редактировании реестра не будут описаны в данной статье, так как с большой вероятностью могут привести к повреждению вашей системы. Если вы хотите получить больше информации о редактировании реестра вручную, пожалуйста, ознакомьтесь со ссылками ниже.

Запись скорее для себя. Дело в том, что любой практически exe файл можно переделать в службу windows!

Бываем иногда необходимость в том, что бы программа работала в качестве службы. В качестве примера будет использоваться программа RedEyes Данная программа используется для мониторинга доступных ресурсов.

И так, вкратце будет так…

INSTSRV ( | REMOVE)
[-a ] [-p ]

Install service example:

INSTSRV MyService C:\MyDir\DiskService.Exe
-OR-
INSTSRV MyService C:\mailsrv\mailsrv.exe -a MYDOMAIN\joebob -p foo

Remove service example:

INSTSRV MyService REMOVE

INSTSRV RedEyes «C:\Program Files (x86)\RedEyes\res.exe» Srvany.exe

И есть сама справка по этому делу у MS

Для создания определяемой пользователем службы Windows NT выполните следующие действия.
В командной строке MS-DOS (выполняется CMD.EXE) введите следующую команду:

путь\INSTSRV.EXE Моя_служба путь\SRVANY.EXE,

где путь указывает букву диска и каталог набора Windows NT Resource Kit (например, C:\RESKIT), а Моя_служба - имя создаваемой службы.

Пример:
C:\Program Files\Resource Kit\Instsrv.exe Notepad C:\Program Files\Resource Kit\Srvany.exe
ПРИМЕЧАНИЕ. Для проверки правильности создания службы убедитесь, что параметр ImagePath в разделе
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\имя_службы
указывает на SRVANY.EXE. Если этот параметр установлен неправильно, служба прекращает работу вскоре после запуска и возвращает код события 7000 - «Не удается запустить имя_службы».

Предупреждение. Неправильное использование редактора реестра может привести к серьезным неполадкам, требующим переустановки операционной системы. Корпорация Майкрософт не гарантирует, что неполадки, являющиеся результатом неправильного использования редактора реестра, могут быть устранены. Ответственность за применение редактор реестра несет пользователь.

Для получения сведений об изменении реестра см. раздел «Изменение разделов и параметров» справочной системы или разделы «Добавление и удаление сведений из реестра» и «Изменение данных в реестре» справочной системы редактора реестра.

Примечание. Перед внесением изменений в системный реестр рекомендуется создать архивную копию реестра.
Запустите редактор реестра (Regedt32.exe) и найдите следующий подраздел:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
В меню «Правка» выберите «Добавить раздел». Введите следующие данные и нажмите кнопку «ОК»:

Название раздела: Параметры
Класс: <пустая строка (пусто)>
Выберите раздел «Parameters» (Параметры).
В меню «Правка» выберите «Добавить параметр». Введите следующие данные и нажмите кнопку «ОК».

Имя параметра: Application
Тип данных: REG_SZ
Строка: <путь>\

где <путь>\<имя_приложения_с_расширением> - это буква диска и полный путь к исполняемому файлу приложения, включая расширение (например C:\WinNT\Notepad.exe)
Закройте редактор реестра.
По умолчанию вновь созданная служба настроена на автоматический запуск при перезагрузке системы. Для изменения этого режима на «Вручную» запустите приложение «Службы» из панели управления и измените значение параметра на «Вручную». Служба, настроенная на запуск вручную, запускается одним из следующих способов:
— с помощью значка «Службы» панели управления

— из командной строки MS-DOS следующей командой:

NET START <Моя_служба>

— с помощью служебной программы Sc.exe из набора ресурсов Resource Kit. В командной строке MS-DOS введите следующую команду:

\Sc.exe start <Моя_служба>

где <путь> указывает букву диска и папку набора Windows NT Resource Kit (например, C:\Reskit)
.

Для получения дополнительных сведений об установке и удалении определяемой пользователем службы см. документ Srvany.wri, прилагаемый к служебным программам набора Windows NT Resource Kit (например, C:\Reskit\Srvany.wri). Кроме того, этот документ находится в каталоге Common\Config компакт-диска набора Windows NT Resource Kit.

А теперь заметка, внимательно смотрим реестр на момент правильного пути к Srvany.exe, по умолчанию он может поставится не туда!!

Ваш браузер может внезапно показать вам services.exe процесс в диспетчере задач. Это, безусловно, плохая идея, чтобы принять это как совпадение. нет, это была спланированная акция, чтобы проникнуть в ваш компьютер. Ваш компьютер может быть недавно загрязнено рискованными вредоносными программами. К сожалению, вам придется иметь дело с этой бедой прямо сейчас. И это в ваших интересах, чтобы найти его как можно быстрее и устранить services.exe рекламное.

Вы можете увидеть процесс services.exe в диспетчере задач, простой щелчок правой кнопкой мыши покажет вам С:\Windows Temp {RANDOM} инфицированное местоположение папки. Однако, это не значит, что проблема решена, и теперь вы можете удалить этот вопрос. Наоборот! Вы не сможете удалить угрозы вручную, поскольку источник постоянных объявлений скрывается под многими другими службами и процессы действуют на вашем компьютере. Рекламное что у вас в системе работает с навыком самозащиты, Сам по себе это маске и остается в системе в течение длительного времени.

Проникновение процесса services.exe может произойти из-за личные действия пользователя или проблемы с защитой. В первом случае определенных пользователей’ действия, связанные с бездумной и глупой установкой могут вызвать появление вредоносных программ. Они должны быть бдительными и внимательными все время они находятся в оперативном режиме, и особенно осторожны с загрузкой. Во втором случае люди полагаются на антивирусное программное обеспечение и не знаю, что иногда это может не поддерживать отслеживание всех угроз и предотвращения их установки. Это всегда хорошая идея для переключения для надежного программного обеспечения, которое может проводить свои основные функции.

Удаление процесса services.exe можно с помощью всего нескольких щелчков мыши. Руководство ниже может помочь вам с основными шагами, которые нужно сделать с нашими GridinSoft Anti-Malware инструмент. Автоматическое удаление не оставляет никаких шансов для всех вариантов вредоносных программ. Следуйте учебники ниже, чтобы сбросить зараженный браузер, что является обязательным.

Скачать надежный инструмент для удаления services.exe:

Подробная инструкция о том, как удалить services.exe инфекции.


Профилактические советы для вашего ПК от быть с services.exe повторного заражения в будущем:

GridinSoft Anti-Malware предлагает отличное решение, которое может помочь предотвратить вашу систему от загрязнения вредоносным раньше времени. Эта функция называется “О перспективе защиты”. По умолчанию, она отключена после установки программного обеспечения. Чтобы включить его, пожалуйста, нажмите на “Защищать ” и нажмите на кнопку “Начало

Эта полезная функция может позволить людям предотвратить установку вредоносного программного обеспечения. Это значит, когда вы будете пытаться установить некоторые подозрительные файлы, В перспективе Protection будет блокировать эту попытку установки раньше времени. ЗАМЕТКА! Если пользователи хотят, чтобы опасные программы для установки, они могут выбрать "Игнорировать всегда" кнопку. В случае, если вы хотите прекратить вредоносную программу, Вы должны выбрать "Блок всегда".

Можно ли запустить клиентское приложение в качестве службы? Не каждое консольное приложение сможет запуститься как служба, а программы с графическим интерфейсом в принципе не умеют работать подобным образом. Но возможность запустить приложение как службу все же есть, и поможет нам в этом программа с оригинальным названием Non-Sucking Service Manager .

NSSM представляет из себя свободное программное обеспечение с открытым кодом и поддерживает все операционные системы Microsoft , начиная с Windows 2000 и заканчивая . NSSM не требует установки, достаточно его загрузить и распаковать. В дистрибутив входят версии для 32- и 64-разрядных ОС. Взять программу можно с сайта nssm.cc, на данный момент последняя стабильная версия 2.21.1, которую я и буду использовать.

Для демонстрации возможностей NSSM попробуем запустить Блокнот в качестве службы на .

Создание службы

Для создания службы с именем notepad запускаем командную консоль, переходим в папку с распакованным NSSM (для 64-разрядной Windows) и вводим команду nssm install notepad, которая открывает окно графического инсталлятора NSSM. Чтобы создать службу, достаточно в поле Path указать путь к исполняемому файлу и нажать кнопку "Install service". Дополнительно в поле Options можно указать ключи, необходимые для запуска службы.

Также на этапе создания новой службы можно указать некоторые дополнительные параметры.

На вкладке "Shutdown" перечислены методы остановки и таймауты, используемые при штатном завершении работы или аварийной остановке приложения. Когда NSSM получает команду остановки (напр. при завершении работы приложения), то он пытается остановить контролируемое приложение штатным образом. Если же приложение не отвечает, то NSSM может принудительно завершить все процессы и подпроцессы этого приложения.

Всего есть четыре этапа завершения работы приложения, и по умолчанию они будет использоваться в таком порядке:

На первом этапе NSSM пытается сгенерировать и отправить событие Ctrl+C. Этот способ хорошо работает для консольных приложений или скриптов, но не применим для графических приложений;
Затем NSSM определяет все окна, созданные приложением, и посылает им сообщение WM_CLOSE, инициирующее выход из приложения;
Третьим этапом NSSM вычисляет все потоки, созданные приложением, и отправляет им сообщение WM_QUIT, которое будет получено если приложение имеет очередь сообщений потока;
И в качестве последнего средства NSSM может вызвать метод TerminateProcess(), принудительно завершив работу приложения.

Возможно отключить некоторые или даже все методы, однако для разных приложений срабатывают разные методы и для корректного завершения работы приложения рекомендуется оставить все как есть.

По умолчанию при падении службы NSSM пытается рестартовать ее. На вкладке "Exit actions" можно изменить автоматическое действие при нештатном завершении работы приложения, а также выставить задержку перед автоматическим перезапуском приложения.

На вкладке "Input/Output (I/O)" можно задать перенаправление ввода\вывода приложения в указанный файл.

На вкладке "Environment" можно задать для службы новые переменные окружения, или переопределить существующие.

Также можно не пользоваться графической оболочкой и сразу создать службу в консоли такой командой:

nssm install notepad ″C:\Windows\system32\notepad.exe″

Управление службой

После создания службы с помощью NSSM зайдем в оснастку Services и найдем службу notepad. Как видите, с виду она ничем не отличается от остальных служб, мы также можем ее запустить, остановить или изменить режим запуска. Однако обратите внимание, что в качестве исполняемого файла указан nssm.exe.

А если зайти в Task Manager, то мы увидим следующую картину: в качестве основного (родительского) процесса запущен NSSM, служба notepad запущена как его дочерний процесс, и уже в этом дочернем процессе запущено приложение Блокнот.

Удаление службы

Для удаления службы вводим команду nssm remove notepad и подтверждаем ее удаление. А введя команду nssm remove notepad confirm, можно обойтись и без подтверждения.

Запуск службы в интерактивном режиме

Основное отличие пользовательского приложения от службы заключается в том, что после запуска приложение может требовать для продолжения работы дополнительных действий со стороны пользователя - например нажать кнопку или ввести команду. Для этого необходимо получить к нему доступ, что как оказывается, не так-то просто сделать.

Для того, чтобы запустить службу в интерактивном режиме, надо в оснастке Службы открыть ее свойства и на вкладке "Вход в систему" отметить чекбокс "Разрешить взаимодействие с рабочим столом".

А дальше начинаются чудеса Для службы, запущенной в интерактивном режиме, система открывает отдельный изолированный сеанс (session 0). Попасть в этот сеанс можно только при помощи Службы обнаружения интерактивных служб (ui0detect), которая отслеживает запуск интерактивных служб на компьютере и выдает оповещение. В Windows 7\Server 2008 эта служба активна по умолчанию, а в Windows 8\Server 2012 она отключена и не отображается в графической оснастке Службы (по крайней мере я ее там не нашел). Более того, если вы все же найдете эту таинственную службу и попробуете ее запустить, то получите сообщение об ошибке.

А дело в том, что для ее запуска необходимо разрешить запуск интерактивных служб на компьютере. Поэтому открываем редактор реестра, находим в разделе HKLM\System\CurrentControlSet\Control\Windows параметр типа DWORD с именем NoInteractiveServices и ставим его значение в 0 .

После чего открываем консоль PowerShell и стартуем службу обнаружения командой:

Start-Service -Name ui0detect

Убедившись что служба обнаружения запущена, рестартуем службу notepad, и получаем вот такое окошко. Выбираем пункт "Посмотреть сообщение"

и попадаем в нулевой сеанс, в котором работает наше приложение. Дальше производим с ним необходимые действия и возвращаемся обратно.

Такое вот интересное решение для запуска приложений в виде служб Windows. Не самое красивое, но вполне соответствующее своему названию

Полезная информация
Недавно наша компания начала плавный переход части своих задач в облако. В частности мы активно начали использовать концепцию saas от Salesforce.com, в чем нам очень сильно помогли консультанты компания CT Consulting. Проект был признан успешным и активно продолжается.

Если говорить о приложениях очень общими словами они бывают либо непосредственно работающие с пользователем в графическим интерфейсом, либо работают в фоне в виде служб. Иногда возникает необходимость запустить определенное приложение в виде службы, однако в приложении такой возможности не предусмотрено. Как сделать это мы и рассмотрим в данной статье. В качестве примера возьмем программу uTorrent.

Дополнительно требуемое ПО

Для того чтобы приложение, которое не предусмотрено для запуска в виде службы, работало в таком режиме нам необходимо использовать специальную обертку, которая будет управлять приложением и имитировать его работу в виде службы.

Для этого есть различные методы, однако одним из моих любимых является использование instsrv.exe и srvany.exe . Данные утилиты являются частью Windows 2003 resource kit, который можно скачать с сайта MS.

  • Скачиваем и устанавливаем Resource Kit в директорию по умолчанию. c:\Program Files (x86)\Windows Resource Kits\Tools\

Подготавливаем аккаунт для службы

Одним из преимуществ запуска приложения в качестве службы является то, что вы можете указать аккаунт пользователя под которым служба будет запускаться.

Обычно служебные аккаунты никогда не используются для непосредственного входа на машины. Их необходимо создавать с параметрами, предотвращающими запрос на смену пароля.

  • Создайте и залогиньтесь в систему под служебным аккаунтом.
  • Запустите приложение и сделайте необходимые изменения – для uTorrent я включаю веб-интерфейс и устанавливаю корректные настройки портов подключения.

Создание службы

При выполнении необходимых действий мы выполняем 2 основных шага. В первом мы созадем запись в реестре для оболочки службы. Во втором мы настраиваем необходимые параметры оболочки.

  • Откройте командную строку с правами администратора
  • Введите следующую команду:

C:\>"c:\Program Files (x86)\Windows Resource Kits\Tools\instsrv.exe" uTorrent " c:\Program Files (x86)\Windows Resource Kits\Tools\srvany.exe"

  • Вы должны получить сообщение "The service was successfully added!"

В данный момент вы уже создали службу, но ещё не указали что служба должна выполнять.

  • Откройте редактор реестра
  • Перейдите в HKLM\System\CurrentControlSet\Services\
  • Найдите службу, которую вы создали(uTorrent)
  • Создайте новую ветку с именем Parameters
  • В ветке Parameters создайте ключ Application
  • Укажите путь к исполняемому файлу без кавычек

В данный момент у нас уже есть необходимая служба, запускающая требуемое приложение. Далее нам необходимо её настроить.

  • Откройте консоль управления службами
  • Найдите службу uTorrent
  • На вкладке General укажите режим запуска автоматический
  • На вкладке Log On tab укажите ранее созданный служебный аккаунт

Если это локальный аккаунт используйте синтаксис.\account если доменный, то domain\account

Тестирование

Для проверки что все работает перезагрузим компьютер. Залогинимся под другим пользователем и проверим следующее:

  • Служба запущена
  • Процесс работает под служебным аккаунтом
  • Приложение работает так, как нами задумано

Интересное

Не всем по карману настоящие швейцарские часы, но козырнуть все таки хочется. Поэтому я решил, что куплю копию швейцарских часов и никому не скажу . Нашел отличный магазин с огромным выбором очень качественных копий. При чем нужно учитывать - что это не подделки, это на самом деле отличные часы, которые тоже стоят очень неплохо, поэтому если бюджет ограничен – это на самом деле отличный выбор.