Установка приложения как службы windows

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

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

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

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

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

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

Скачать данную программу можно с её официального сайта — nssm.cc.
На случай проблем с официальным сайтом, можно скачать программу с нашего сайта.

В архиве для скачивания можно найти версию для 64-битной версии Windows (папка win64), для 32-битной (папка win32) и исходные коды приложения (папка src). Выбираем нужное приложение под разрядность своей системы, копируем его в удобное для вас место на жестком диске. Никакая установка приложения не требуется.

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

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

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

    Вкладка «Log on» позволяет указать пользователя, под которым будет запускаться служба.Заполним все нужные поля и выбрав нужные настройки, остается только нажать кнопку «Install service«, для установки службы.
  4. После нажатия кнопки «Install service«, служба будет создана, но при этом запустить её нужно будет вручную (либо перезагрузить компьютер, чтобы служба с параметром запуска «Auto» запустилась при его запуске).
Читайте также:  System service exception asmtxhci sys windows 10

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

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

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

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

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

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

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

Скачать данную программу можно с её официального сайта — nssm.cc.
На случай проблем с официальным сайтом, можно скачать программу с нашего сайта.

В архиве для скачивания можно найти версию для 64-битной версии Windows (папка win64), для 32-битной (папка win32) и исходные коды приложения (папка src). Выбираем нужное приложение под разрядность своей системы, копируем его в удобное для вас место на жестком диске. Никакая установка приложения не требуется.

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

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

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

Читайте также:  Диалоговое окно windows form

Вкладка «Log on» позволяет указать пользователя, под которым будет запускаться служба.Заполним все нужные поля и выбрав нужные настройки, остается только нажать кнопку «Install service«, для установки службы.

4. После нажатия кнопки «Install service«, служба будет создана, но при этом запустить её нужно будет вручную (либо перезагрузить компьютер, чтобы служба с параметром запуска «Auto» запустилась при его запуске).

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

Linux и Windows: помощь админам и пользователям

Администрируем и настраиваем Windows, Linux.

Запуск любого приложения в виде службы

Полезная информация
Недавно наша компания начала плавный переход части своих задач в облако. В частности мы активно начали использовать концепцию 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!»
  • В данный момент вы уже создали службу, но ещё не указали что служба должна выполнять.

    Откройте редактор реестра

    Читайте также:  Как создать mbr диск при установке windows 10

    Перейдите в HKLM\System\CurrentControlSet\Services\

    Найдите службу, которую вы создали(uTorrent)

    Создайте новую ветку с именем Parameters

    В ветке Parameters создайте ключ Application

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

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

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

    Найдите службу uTorrent

    На вкладке General укажите режим запуска автоматический

  • На вкладке Log Ontab укажите ранее созданный служебный аккаунт
  • Если это локальный аккаунт используйте синтаксис .\account если доменный, то domain\account

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

    Процесс работает под служебным аккаунтом

  • Приложение работает так, как нами задумано
  • Интересное

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

    Еще записи по теме

    Комментариев: 1

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

    Как установить программу в качестве службы

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

    Установка программы в качестве службы

    Первые 4 пункта понадобятся лишь в windows 8.1

    1 Вызовите боковую панель Windows 8.1. Для этого можно использовать комбинацию клавиш WIN+C.

    2 Выберите Поиск:

    3 В поле поиска введите командная строка. В списке появится позиция Командная строка с системной иконкой.

    Нажмите по ней правой кнопкой мыши:

    4 Выберите Запуск от имени администратора:

    5 Нажмите Да:

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

    После нажатия на ENTER ответьте «Да» на запрос службы контроля учётных записей:

    7 Если программа запросит учётные данные для запуска, как в нашем примере, введите реквизиты учётной записи администратора и нажмите ОК:

    Далее, программа, которую вы установили в качестве службы, сообщит вам об успешной установке службы.

    У каждой программы это окно будет разным

    Зайдите в службы (Выполнить — services.mcs — ENTER) и проверьте, что в списке присутствует только что установленная служба:

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

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

    Оцените статью