...

Как сделать программу службой в Windows 10

Запуск приложения как службы Windows

Запуск приложения как службы Windows

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

SC

Входящая в Windows программа SC позволяет легко создавать службы Windows, а так же проводить другие различные с ними манипуляции – удаление, отключение, включение, и т. д. Создается служба достаточно просто, для этого достаточно запустить командную строку от имени администратора, и выполнить там следующую команду:

sc create [ИМЯ СЛУЖБЫ] binPath=[ПУТЬ К ИСПОЛНЯЕМОМУ ФАЙЛУ] DisplayName=[ОТОБРАЖАЕМОЕ ИМЯ СЛУЖБЫ] type=own start=auto

Удаляется же служба еще проще:

sc delete [ИМЯ СЛУЖБЫ]

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

NSSM

  1. Предположим, нужно создать службу для веб-сервера nginx под Windows. Для этого, запускаем командную строку с правами администратора, и переходим в директорию с распакованным исполняемым файлом nssm.exe.
  2. Затем выполняем команду, начинающую установку службы:
nssm install nginx
  • Откроется окно с настройками создаваемой службы.

    На самой первой вкладке “Application“, в строке “Path” задается путь к исполняемому файлу, “Startup Directory” – рабочая директория, а “Arguments” – параметры запуска. В самом низу расположена строка “Service Name“, где задается имя создаваемого сервиса.

    На вкладке “Details” можно задать имя, под которым будет отображаться создаваемая служба в списке служб, а так же описание службы, которое будет отображаться там же. В выпадающем списке “Startup Type” можно выбрать тип запуска службы.

    Вкладка “Log on” позволяет указать пользователя, под которым будет запускаться служба.Заполним все нужные поля и выбрав нужные настройки, остается только нажать кнопку “Install service“, для установки службы.
  • После нажатия кнопки “Install service“, служба будет создана, но при этом запустить её нужно будет вручную (либо перезагрузить компьютер, чтобы служба с параметром запуска “Auto” запустилась при его запуске).
  • Так же удалить службу можно с помощью команды в командной строке:

    nssm remove [ИМЯ СЛУЖБЫ] confirm

    Как включить службы по умолчанию в Windows 10

    Как сбросить службы Windows 10 по умолчанию

    Если после каких-либо действий по оптимизации работы служб Windows 10 вы столкнулись с проблемами, может потребоваться восстановить параметры служб в состояние «по умолчанию». В зависимости от ситуации сделать это можно разными способами.

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

    • Конфигурация системы
    • Точки восстановления
    • Файл реестра
    • Тип запуска служб по умолчанию
    • Другие методы восстановления
    • Видео
    • Дополнительная информация

    Конфигурация системы — способ, который может помочь, но не восстанавливает первоначальную конфигурацию всех служб

    Самый часто рекомендуемый способ случай восстановления запуска служб — использовать «Конфигурация системы». По факту он не восстанавливает тип запуска всех служб, но в некоторых случаях может сработать и исправить возникшие из-за неполадок служб проблемы, поэтому рекомендую начать с него:

    Включить обычный запуск в msconfig

    1. Нажмите клавиши Win+R на клавиатуре (Win — клавиша с эмблемой Windows), введите msconfig и нажмите Enter.
    2. На вкладке «Общие» выберите пункт «Обычный запуск» и нажмите «Применить».
    3. Перезагрузите ваш компьютер.

    После этого проверьте, была ли решена проблема.

    Обратите внимание: если вы снова зайдёте в msconfig после перезагрузки, с большой вероятностью вы увидите, что отметка вновь установлена в состоянии «Выборочный запуск» — это нормально и как-то это исправлять не следует.

    Точки восстановления — самый быстрый метод восстановления работы служб

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

    В случае если Windows 10 запускается и работает:

    1. Нажмите клавиши Win+R на клавиатуре, введите rstrui.exe и нажмите Enter. Используйте предложенную точку восстановления или отметьте пункт «Выбрать другую точку восстановления». Показать другие точки восстановления системы
    2. Выберите точку восстановления на дату, когда проблема не проявила себя. Выбор точки восстановления для сброса служб
    3. Запустите восстановление и дождитесь его завершения.

    Если Windows 10 не запускается:

    REG-файл с параметрами работы служб Windows 10 по умолчанию

    Учитывайте, что при добавлении данных в реестр вы с большой вероятностью получите сообщение «Не удается импортировать, не все данные были успешно записаны в реестр». Это связано с тем, что изменение параметров некоторых служб запрещено в Windows 10 и изменения для них произведены не будут.

    Тип запуска различных служб Windows 10

    На скриншотах ниже — типы запуска служб по умолчанию для Windows 10, представлены только встроенные системные службы в Профессиональной редакции системы (в Домашней некоторые службы могут отсутствовать).

    1. Службы по умолчанию 1
    2. Службы по умолчанию 2
    3. Службы по умолчанию 3
    4. Службы по умолчанию 4
    5. Службы по умолчанию 5
    6. Службы по умолчанию 6
    7. Службы по умолчанию 7
    8. Службы по умолчанию 8
    9. Службы по умолчанию 9
    10. Службы по умолчанию 10
    11. Службы по умолчанию 11

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

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

    • Попробовать использовать стороннюю утилиту Easy Service Optimizer (язык интерфейса переключается в Options — Languages). Если выбрать вкладку «По умолчанию» и применить настройки, тип запуска служб будет восстановлен. Но: в программе представлены не все службы, а только основные. Официальный сайт программы — https://www.sordum.org/8637/easy-service-optimizer-v1-2/Службы по умолчанию в Easy Service Optimizer
    • Опция возврата служб в состояние «по умолчанию» присутствует в утилите Windows Repair All In One, но я не ручаюсь за репутацию программы. Открываем раздел «Repairs», а затем отмечаем пункт сброса служб, как на скриншоте, нажимаем кнопку Start Repairs. Официальный сайт программы: https://www.tweaking.com/content/page/windows_repair_all_in_one.htmlСброс служб на значения по умолчанию в Windows Repair
    • Выполнить сброс Windows 10, можно с сохранением данных. Тип запуска служб и другие их параметры при этом будут восстановлены.

    Видео

    Дополнительная информация

    В этом разделе присутствуют подразделы с именами, соответствующими «коротким именам» служб Windows. Внутри — параметры этих служб. Тип запуска задаётся параметром Start, обычно он принимает значения 2 (автоматически), 3 (вручную), 4 (отключена).

    А вдруг и это будет интересно:

    • Лучшие бесплатные программы для Windows
    • Выберите операционную систему при загрузке Windows — как убрать меню
    • Ошибка 0xc000000e при загрузке Windows — как исправить?
    • Диск отключен из-за конфликта подписей с другим диском — как исправить?
    • Ошибка при запуске приложения 0xc0000005 — как исправить?
    • Случайные аппаратные адреса в Windows 11 и Windows 10 — что это, как включить или отключить
    • Windows 11
    • Windows 10
    • Android
    • Загрузочная флешка
    • Лечение вирусов
    • Восстановление данных
    • Установка с флешки
    • Настройка роутера
    • Всё про Windows
    • В контакте
    • Одноклассники

      Ирина 10.02.2021 в 07:55

    • Dmitry 10.02.2021 в 08:36
    • Vitaliy 10.02.2021 в 20:31

    Как создать свою службу в Windows 11 и Windows 10

    Как создать службу в Windows

    Службы в Windows — особые процессы, выполняемые в фоновом режиме, в том числе от учетной записи «СИСТЕМА», которые могут быть запущены в том числе до входа в систему. При желании вы можете создать свою собственную службу, которая будет работать таким же образом.

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

    Создание службы в командной строке

    Первый способ — использование команды командной строки для создания своей службы, шаги будут следующими:

    sc create Имя_службы binPath="C:\service-file.exe" DisplayName= "Описание_службы" type=own start=auto

    Создание службы в командной строке Windows

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

    • binPath — путь к исполняемому файлу службы.
    • DisplayName — отображаемое в списке служб имя службы.
    • start — тип запуска, возможные значения: boot, auto, demand (значение по умолчанию), disabled, delayed-auto
    • type — тип службы, по умолчанию own, возможны другие значения: share (делит исполняемый файл с другими службами), kernel (драйвер), filesys (драйвер файловой системы), interact (интерактивная служба с возможность взаимодействия с пользователем, поддержка этого типа служб прекращается).

    После создания службы вы сможете увидеть её в списке служб (Win+Rservices.msc), а автоматический запуск произойдет при следующей перезагрузке системы.

    Созданная служба в списке служб Windows

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

    Создать службу можно и в PowerShell, запущенном от имени администратора (или в Терминале Windows). Базовый вариант команды с параметрами по умолчанию:

    New-Service -Name "Имя_Службы" -BinaryPathName '"C:\путь_к_файлу параметры_запуска"'

    Расширенный вариант с указанием описания и типа запуска:

    New-Service -Name MyService -BinaryPathName '"C:\путь_к_файлу параметры_запуска"' -DisplayName "Имя_службы" -Description "Описание службы" -StartupType "Automatic"

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

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

    -BinaryPathName C:\remontka.exe

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

    Удалить созданную службы вы можете также в командной строке, запущенной от имени Администратора с помощью команды:

    sc delete Имя_службы

    Удаление службы в командной строке

    Или в Windows PowerShell:

    Remove-Service -Name MyService

    После выполнения указанных команд созданная вами служба будет удалена из Windows.

    Созданная служба не работает, варианты решения

    Причина в том, что исполняемые файлы служб — не совсем обычные программы, они, помимо прочего, обмениваются данными с системой. Если ваш EXE не отвечает на соответствующие запросы системы, Windows «делает вывод» о том, что со службой что-то не так.

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

    Утилита RunAsSvc

    • Использовать планировщик заданий и запуск от соответствующего пользователя — это не будет в полной мере службой, но почти то, что нужно.
    • Ранее существовала программа RunAsSvc, позволяющая запускать любые процессы в качестве службы, но для современных ОC он не применима, а разработка была прекращена.
    • Использовать инструменты INSTSRV.EXE и SRVANY.EXE из Windows Server 2003 Resource Kit Tools при создании службы Windows.

    Создание пользовательской службы с помощью INSTSRV.EXE и SRVANY.EXE

    Последний вариант из приведённого выше списка рассмотрим подробнее. Шаги будут следующими:

    1. Загрузите (вероятнее всего, придется найти в Интернете на сторонних сайтах) Windows Server 2003 Resource Kit полностью или только файлы INSTSRV.EXE и SRVANY.EXE, располагаем их у себя на диске, в моем примере путь — C:\Windows
    2. В командной строке от имени администратора используйте команду (пути меняем на свои):

    C:\Windows\instsrv.exe Имя_службы C:\Windows\srvany.exe

    Создание службы с помощью instsrv и srvany

  • Если вы получили сообщение о том, что The service was successfully added, всё прошло успешно. Теперь требуется запустить редактор реестра (Win+Rregedit).
  • В редакторе реестра перейдите по пути

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\

    Путь к исполняемому файлу службы в реестре

    и найдите раздел с вашим именем службы. Нажимаем по нему правой кнопкой мыши и выбираем пункт «Создать» — «Раздел», задаем имя «Parameters» для раздела.

  • Выберите созданный раздел, нажмите правой кнопкой мыши в правой панели редактора реестра и создайте новый строковый параметр с именем Application
  • Дважды нажмите по параметру и в поле «Значение» укажите путь к вашему файлу exe для запуска службы.
  • Закройте редактор реестра — служба создана, её можно запустить из services.msc или она будет автоматически запущена после перезагрузки компьютера.

    Учитывайте, что во всех приведенных примерах служба по умолчанию запускается с учетной записью «СИСТЕМА». В некоторых случаях это может приводить к неправильной работе. В этом случае может иметь смысл зайти в свойства службы в services.msc и изменить параметры на вкладке «Вход в систему».

    А вдруг и это будет интересно:

    • Лучшие бесплатные программы для Windows
    • Выберите операционную систему при загрузке Windows — как убрать меню
    • Ошибка 0xc000000e при загрузке Windows — как исправить?
    • Диск отключен из-за конфликта подписей с другим диском — как исправить?
    • Ошибка при запуске приложения 0xc0000005 — как исправить?
    • Случайные аппаратные адреса в Windows 11 и Windows 10 — что это, как включить или отключить
    • Windows 11
    • Windows 10
    • Android
    • Загрузочная флешка
    • Лечение вирусов
    • Восстановление данных
    • Установка с флешки
    • Настройка роутера
    • Всё про Windows
    • В контакте
    • Одноклассники

      Юрий 06.02.2023 в 23:10

    При подготовке материала использовались источники:
    https://pc.ru/articles/zapusk-prilozheniya-kak-sluzhbu-windows
    https://remontka.pro/restore-services-to-default-windows-10/
    https://remontka.pro/create-service-windows/

    Добавить комментарий