Каталог расширений

Популярные теги

3gp       avi       fb2       jpg       mp3       pdf      

Как сделать службу windows из exe файла


Из exe в службу - Всяко разно

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

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

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

INSTSRV <service name> (<exe location> | REMOVE)
[-a <Account Name>] [-p <Account Password>]

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\<My Service>
В меню «Правка» выберите «Добавить раздел». Введите следующие данные и нажмите кнопку «ОК»:

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

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

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

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

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

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

<path>\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, по умолчанию он может поставится не туда!!

Скачать Windows NT Resource Kit  для создания службы из exe здесь: Windows NT Resource Kit.

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

Windows, Программное обеспечение
  • Recluse
  • 06.01.2020
  • 5 508
  • 0
  • 27.07.2020
  • 13
  • 13
  • 0
  • Содержание статьи

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

SC

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

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


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

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

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

NSSM

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

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

Скачать NSSM 2.24

В архиве для скачивания можно найти версию для 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" можно выбрать тип запуска службы.

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

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

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

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

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

Создание службы с помощью программы Sc.exe

Первый способ позволяет создавать службы, используя утилиты, работающие через командную строку. В данном случае, используется инструмент sc.exe. Он позволяет взаимодействовать с функциями API и выполнять операции со службами Windows 10. Несмотря на то, что данная программа даже не обладает графическим интерфейсом, она является мощным инструментом и может контролировать состояние служб, создавать, редактировать и управлять ими.
Если создавать службу, с помощью sc.exe, то не возникает необходимости в изменении параметров реестра и списка служб в диспетчере. Кроме того, утилита способна работать со службами на локальном компьютере, и выполнять те же действия на удаленных машинах.
Чтобы создать новый сервис, откройте командную строку от имени администратора и запустите команду «Sc create». Она запишет новую службу к базе диспетчера служб. Синтаксис команды представлен следующим образом:

sc create [ServiceName] [binPath= ] <параметр1= > <параметр2= >

Где:

  • ServiceName — данным параметром определяется имя раздела службы в реестре;
    Данное имя не совпадает с тем именем, которое будет отображаться диспетчере (например, в Services).
  • BinPath — в этом параметре записываем путь, где хранится исполняемый файл.

Чтобы было понятнее, в качестве примера, мы создадим службу «MySevice». При этом, отображаемое имя будет «My New Service». Указываем тип службы и включаем автозапуск:

Sc create MyService binPath=C:\MyService\MyService.exe DisplayName=″My New Service″ type=own start=auto

Теперь откройте оснастку «Services» и взгляните на то, что получилось:

Параметры службы, которая уже была создана и запущена, можно изменить при помощи команды Sc config. К примеру, мы заменим имя службы, которое отображается как:

Sc config MyService DisplayName=″My Service″

А еще можно избавиться от службы полным ее удалением. Для этого используйте такую команду:

Sc delete MyService

С помощью утилиты PowerShell

Ну а с помощью такого мощного инструмента, как PowerShell можно хоть горы двигать. Он обладает большими возможностями и способен работать с различными службами. Здесь, для добавления новой службы, существует специальная команда «New -Service». Давайте попробуем новую службу, как и в прошлом примере, будем использовать те же имена и значения, только добавим дополнительный параметр, в виде описания. И так, команда, для создания нового сервиса, выглядит следующим образом:

New-Service -Name MyService -BinaryPathName C:\MyService\MyService.exe` -DisplayName ″My New Service″ -Description ″Very Important Service !!!″

Для изменения параметров служб, существует команда «Set -Service»:

Set-Service -Name MyService -Description ″Not Very Important Service″ -StartupType Manual

Если не считать дополнительную возможность добавления описаний к службам, PowerShell обладает таким же функционалом, как и утилита Sc.exe. Но есть один маленький минус — здесь нет простой команды для удаления службы. Поэтому приходиться использовать такой вот, немного мудреный, код:

(Get-WmiObject win32_service -Filter ″name=′MyService′″).delete()

Так что утилита sc.exe, в этом плане будет получше. И по этой причине я предпочитаю именно ее.

sc.exe создать | Microsoft Docs

  • Чтение занимает 3 мин

В этой статье

Создает подраздел и записи для службы в реестре и в базе данных диспетчера управления службами.Creates a subkey and entries for a service in the registry and in the Service Control Manager database.

СинтаксисSyntax

sc.exe [<servername>] create [<servicename>] [type= {own | share | kernel | filesys | rec | interact type= {own | share}}] [start= {boot | system | auto | demand | disabled | delayed-auto}] [error= {normal | severe | critical | ignore}] [binpath= <binarypathname>] [group= <loadordergroup>] [tag= {yes | no}] [depend= <dependencies>] [obj= {<accountname> | <objectname>}] [displayname= <displayname>] [password= <password>] 

ПараметрыParameters

ПараметрParameter ОписаниеDescription
<servername> Указывает имя удаленного сервера, на котором расположена служба.Specifies the name of the remote server on which the service is located. Имя должно использовать формат UNC (например, \ MyServer).The name must use the Universal Naming Convention (UNC) format (for example, \myserver). Чтобы запустить SC.exe локально, не используйте этот параметр.To run SC.exe locally, don't use this parameter.
<servicename> Указывает имя службы, возвращенное операцией жеткэйнаме .Specifies the service name returned by the getkeyname operation.
type= {own | share | kernel | filesys | rec | interact type= {own | share}} Указывает тип службы.Specifies the service type. Эти способы могут быть следующими:The options include:
  • собственный — указывает службу, которая выполняется в собственном процессе.own - Specifies a service that runs in its own process. Он не предоставляет доступ к исполняемому файлу другим службам.It doesn't share an executable file with other services. Это значение по умолчанию.This is the default value.
  • Share — указывает службу, которая выполняется как общий процесс.share - Specifies a service that runs as a shared process. Он использует исполняемый файл совместно с другими службами.It shares an executable file with other services.
  • kernel — указывает драйвер.kernel - Specifies a driver.
  • филесис — указывает драйвер файловой системы.filesys - Specifies a file system driver.
  • REC — указывает драйвер, распознаваемый файловой системой, который определяет файловые системы, используемые на компьютере.rec - Specifies a file system-recognized driver that identifies file systems used on the computer.
  • взаимодействие — указывает службу, которая может взаимодействовать с рабочим столом и получать входные данные от пользователей.interact - Specifies a service that can interact with the desktop, receiving input from users. Интерактивные службы должны запускаться под учетной записью LocalSystem.Interactive services must be run under the LocalSystem account. Этот тип должен использоваться в сочетании с Type = владеть или Type = Shared (например, Type = взаимодействие Type = владеет).This type must be used in conjunction with type= own or type= shared (for example, type= interact type= own). При использовании типа = взаимодействие само по себе вызывает ошибку.Using type= interact by itself will generate an error.
start= {boot | system | auto | demand | disabled | delayed-auto} Указывает тип запуска для службы.Specifies the start type for the service. Эти способы могут быть следующими:The options include:
  • Загрузка — указывает драйвер устройства, который загружается загрузчиком.boot - Specifies a device driver that is loaded by the boot loader.
  • система — указывает драйвер устройства, который запускается во время инициализации ядра.system - Specifies a device driver that is started during kernel initialization.
  • автоматически указывает службу, которая автоматически запускается при каждом перезапуске компьютера и выполняется, даже если никто из них не входит в систему.auto - Specifies a service that automatically starts each time the computer is restarted and runs even if no one logs on to the computer.
  • Demand — указывает службу, которая должна быть запущена вручную.demand - Specifies a service that must be started manually. Это значение по умолчанию, если Start = не задано.This is the default value if start= is not specified.
  • Disabled (отключено ) — указывает службу, которая не может быть запущена.disabled - Specifies a service that cannot be started. Чтобы запустить отключенную службу, измените тип запуска на другое значение.To start a disabled service, change the start type to some other value.
  • отложенный — автоматически указывает службу, которая запускается автоматически через некоторое время после запуска других автоматических служб.delayed-auto - Specifies a service that starts automatically a short time after other auto services are started.
error= {normal | severe | critical | ignore} Указывает серьезность ошибки, если служба не запускается при запуске компьютера.Specifies the severity of the error if the service fails to start when the computer is started. Эти способы могут быть следующими:The options include:
  • Обычная — указывает, что ошибка записывается в журнал и отображается окно сообщения, информирующее пользователя о том, что не удалось запустить службу.normal - Specifies that the error is logged and a message box is displayed, informing the user that a service has failed to start. Запуск будет продолжен.Startup will continue. Это параметр по умолчанию.This is the default setting.
  • серьезная — указывает, что ошибка регистрируется (по возможности).severe - Specifies that the error is logged (if possible). Компьютер пытается перезапуститься с последней удачной конфигурацией.The computer attempts to restart with the last-known good configuration. Это может привести к тому, что компьютер сможет перезапуститься, но служба по-прежнему может не запуститься.This could result in the computer being able to restart, but the service may still be unable to run.
  • критическая — указывает, что ошибка записывается в журнал (если возможно).critical - Specifies that the error is logged (if possible). Компьютер пытается перезапуститься с последней удачной конфигурацией.The computer attempts to restart with the last-known good configuration. Если последняя удачная конфигурация завершается сбоем, запуск также завершается сбоем, а процесс загрузки останавливается с ошибкой остановки.If the last-known good configuration fails, startup also fails, and the boot process halts with a Stop error.
  • Ignore — указывает, что ошибка записывается в журнал, и запуск продолжится.ignore - Specifies that the error is logged and startup continues. Пользователю не выдается уведомление, кроме записи ошибки в журнал событий.No notification is given to the user beyond recording the error in the Event Log.
binpath= <binarypathname> Указывает путь к двоичному файлу службы.Specifies a path to the service binary file. Значение по умолчанию для BinPath =, и эта строка должна быть указана.There is no default for binpath=, and this string must be supplied.
group= <loadordergroup> Указывает имя группы, членом которой является эта служба.Specifies the name of the group of which this service is a member. Список групп хранится в реестре в подразделе хклм\систем\куррентконтролсет\контрол\сервицеграупордер .The list of groups is stored in the registry, in the HKLM\System\CurrentControlSet\Control\ServiceGroupOrder subkey. По умолчанию используется значение NULL.The default value is null.
tag= {yes | no} Указывает, следует ли получить TagID из вызова CreateService.Specifies whether or not to obtain a TagID from the CreateService call. Теги используются только для драйверов загрузки и запуска системы.Tags are used only for boot-start and system-start drivers.
depend= <dependencies> Указывает имена служб или групп, которые должны быть запущены перед этой службой.Specifies the names of services or groups that must start before this service. Имена разделяются косой чертой (/).The names are separated by forward slashes (/).
obj= {<accountname> | <objectname>} Указывает имя учетной записи, в которой будет выполняться служба, или задает имя объекта драйвера Windows, в котором будет выполняться драйвер.Specifies a name of an account in which a service will run, or specifies a name of the Windows driver object in which the driver will run. Значение по умолчанию — LocalSystem.The default setting is LocalSystem.
displayname= <displayname> Указывает понятное имя для идентификации службы в программах пользовательского интерфейса.Specifies a friendly name for identifying the service in user interface programs. Например, имя подраздела одной конкретной службы — wuauserv, которое имеет более понятное отображаемое имя автоматическое обновление.For example, the subkey name of one particular service is wuauserv, which has a more friendly display name of Automatic Updates.
password= <password> Указывает пароль.Specifies a password. Это необходимо, если используется учетная запись, отличная от учетной записи LocalSystem.This is required if an account other than the LocalSystem account is used.
/?/? Отображение справки в командной строке.Displays help at the command prompt.
КомментарииRemarks
  • Каждый параметр командной строки (параметр) должен включать знак равенства как часть имени параметра.Each command-line option (parameter) must include the equal sign as part of the option name.

  • Между параметром и его значением требуется пробел (например, Type = an).A space is required between an option and its value (for example, type= own. Если пространство не указано, операция завершается ошибкой.If the space is omitted, the operation fails.

ПримерыExamples

Чтобы создать и зарегистрировать новый двоичный путь для службы невсервице , введите:To create and register a new binary path for the NewService service, type:

sc.exe \\myserver create NewService binpath= c:\windows\system32\NewServ.exe 
sc.exe create NewService binpath= c:\windows\system32\NewServ.exe type= share start= auto depend= +TDI NetBIOS 

Дополнительные ссылкиAdditional References

Программа как служба или как превратить любую программу в службу

Рано или поздно, у простого пользователя или прожженого сисадмина возникает такая ситуация как: “Превратить программу в службу”. Зачем это нужно, и в чем отличие. Если сильно не вдаваться в подробности то слушайте. Служба – это такое приложение , которое автоматически запускается при старте Windows, и работает в фоновом режиме. Сразу же поясняю что к чему. По поводу автозапуска – не всегда пользователю требуется запуск службы автоматически со стартом системы, это всегда можно изменить и настроить как вам нужно. По поводу фоновой работы – эта такой способ работы приложения, при котором оно не взаимодействует с рабочем столом, т.е. не отображается.(Тихо и незаметно работает на своем месте) Столкнулся я с такой проблемой при подключении к базе данных 1С через Публикатор (Аналог 1С Линк) развернутый на Windows server 2012. Все было отлично, программа работала и тихо раздавала базы, но случился маленький ньюанс. После выхода из пользователя , под которым была запущена программа, базы перестали раздаваться т.к. Публикатор завершил свою работу. Что же делать? Было решено сделать из программы Публикатор”  – службу. Тогда программа сможет работать постоянно, независимо от того, какой пользователь запущен. Сейчас я вам покажу, как просто, без каких либо крутых навыков превратить почти любую программу в службу. Во первых, нам потребуется программа под названием NSSM расшифровывается как Non-Sucking Service Manager. Скачать ее можно на официальном сайте: Ссылка на сайт Программы Прямая ссылка на скачивание программы : Прямая ссылка на скачку программы Скачав по ссылке, вы получите архив, внутри которого находиться:

Папки:
scr – папка с исходниками программы, вдруг вы захотите покапаться во внутренностях программы или переделать ее под себя.
win32 – папка с программой рассчитанной под операционную систему windows разрядностью 32 бита.
win64 – папка с программой рассчитанной под операционную систему windows разрядностью 64 бита.

Файлы:
ChangeLog.txt – файл с описанием изменений каждой версии программы.
README.txt – файл с описанием программы.

Теперь, когда мы познакомились с содержимым архива, приступим к установке. В зависимости от разрядности вашей системы 32/64 бита, выбираем папку с программой.(Если у вас разрядность системы 32 бита то выбираем win32, если 64 то win64). Переносим эту папку в корень диска с операционной системой(Желательно), и запускаем командную строку(Вызвать ее можно комбинацией клавиш Win+R, и в сплывающем окне набрать cmd и нажать OK)

Откроется командная строка,и в ней набираем команду cd и путь к программе nssm. Например:

cd C:/

Далее набираем команду –  nssm install + имя будущей службы. Например:

nssm install publikator

И перед нами предстает окно программы nssm.

Расскажу коротко о настройках которые нам потребуются.

Path – в этом поле указываем путь к программе которую мы хотим переделать в службу(Обязательно).
Startup directory – директория нахождения программы(Обязательно).
Arguments – дополнительные параметры запуска программы(Не обязательно).
Service name – наименование будущей службы(Можно назвать как угодно, хоть MEGASLUZBA).

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

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

P.S.на всякий случай,если у вас не работает стабильно ваша программа, то в разделе process, уберите галочку Console Windows.

Что бы внести изменения в вашу службу, запустите командную строку и введите команду: nssm edit + название вашей службы

nssm edit publikator

 

0 0 голос

Рейтинг статьи

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

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

Команда SC CREATE создает запись службы в реестре и в базе данных диспетчера служб. А для запуска только что созданной службы из командной строки служит команда SC START.

Синтаксис и параметры команды SC CREATE

sc [имя_сервера] create [имя_службы] [type= {own|share|kernel|filesys|rec|adapt|interact type= {own|share}}] [start= {boot|system|auto|demand|disabled}] [error= {normal|severe|critical|ignore}] [binpath= имя_двоичного_пути] [group= группа_порядка_загрузки] [tag= {yes|no}] [depend= зависимости] [obj= {имя_учетной_записи|имя_объекта}] [displayname= отображаемое_имя] [password= пароль]

  • имя_сервера - Задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC ("\\myserver"). Чтобы запустить SC локально, этот параметр следует пропустить.
  • имя_службы - Указывает имя службы, возвращенное операцией getkeyname.
  • type= {own|share|kernel|filesys|rec|adapt|interact type= {own|share}} - Указывает тип службы. Тип по умолчанию type= own.
  • start= {boot|system|auto|demand|disabled} - Указывает тип запуска для службы. Тип запуска по умолчанию start= demand.
  • error= {normal|severe|critical|ignore} - Указывает серьезность ошибки, если служба не запускается при загрузке. Значение параметра по умолчанию error= normal.
  • binpath= имя_двоичного_пути - Указывает путь в двоичном файле службы. Значение по умолчанию для параметра binpath= не задано. Эту строку необходимо указать.
  • group= группа_порядка_загрузки - Указывает имя группы, членом которой является эта служба. Список групп сохраняется в реестре в подразделе HKLM\System\CurrentControlSet\Control\ServiceGroupOrder. Значение по умолчанию является пустым.
  • tag= {yes|no} - Указывает, следует ли получить код TagID из вызова CreateService. Теги используются только драйверами, запускающимися при загрузке или запуске системы.
  • depend= зависимости - Указывает имена служб и групп, которые должны быть запущены раньше данной службы. Имена разделяются косой чертой (/).
  • obj= {имя_учетной_записи|имя_объекта} - Указывает имя учетной записи, для которой будет выполняться служба, или имя объекта драйвера Windows, в котором будет запущен драйвер
  • displayname= отображаемое_имя - Определяет понятное, точное имя для службы, которое используется в программах пользовательского интерфейса.
  • password= пароль - Задает пароль. Данный параметр требуется при использовании учетной записи, отличной от учетной записи «Локальная система».
  • /? - Отображает справку в командной строке.

Примеры команды SC CREATE

  • sc \\myserver create NewService binpath= c:\windows\system32\NewServ.exe
  • sc create NewService binpath= c:\windows\system32\NewServ.exe type= share start= auto depend= "+TDI Netbios"

c # - как сгенерировать exe из служебного файла Windows

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
.Окна

- Можно ли сделать пользовательский файл .exe как сервис? Сбой службы с таймаутом

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
  5. Реклама Обратитесь к разработчикам и технологам со всего мира
.

Изменение «Пути к исполняемому файлу» службы Windows

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
.

Как: установить и удалить службы Windows

  • 2 минуты на чтение

В этой статье

Если вы разрабатываете службу Windows с помощью .NET Framework, вы можете быстро установить приложение службы с помощью служебной программы командной строки InstallUtil.exe или PowerShell.Разработчики, которые хотят выпустить службу Windows, которую пользователи могут устанавливать и удалять, могут использовать бесплатный WiX Toolset или коммерческие инструменты, такие как Advanced Installer, InstallShield или другие. Дополнительные сведения см. В разделе Создание пакета установщика (рабочий стол Windows).

Предупреждение

Если вы хотите удалить службу со своего компьютера, не выполняйте действия, описанные в этой статье. Вместо этого выясните, какая программа или программный пакет установила службу, а затем выберите Apps в настройках, чтобы удалить эту программу.Обратите внимание, что многие службы являются неотъемлемыми частями Windows; если вы удалите их, вы можете вызвать нестабильность системы.

Чтобы выполнить действия, описанные в этой статье, сначала необходимо добавить установщик службы в службу Windows. Дополнительные сведения см. В разделе Пошаговое руководство: создание приложения-службы Windows.

Вы не можете запускать проекты служб Windows непосредственно из среды разработки Visual Studio, нажимая F5. Прежде чем вы сможете запустить проект, вы должны установить службу в проекте.

Установите службу вручную с помощью InstallUtil.Утилита exe

  1. В меню Пуск выберите каталог Visual Studio < версия > , затем выберите командную строку разработчика для VS < версия > .

    Появится командная строка разработчика для Visual Studio.

  2. Доступ к каталогу, в котором находится скомпилированный исполняемый файл вашего проекта.

  3. Запустите InstallUtil.exe из командной строки с исполняемым файлом проекта в качестве параметра:

      installutil <ваш проект>.исполняемый  

    Если вы используете командную строку разработчика для Visual Studio, InstallUtil.exe должен находиться в системном пути. В противном случае вы можете добавить его в путь или использовать полный путь для его вызова. Этот инструмент устанавливается вместе с .NET Framework в % WINDIR% \ Microsoft.NET \ Framework [64] \ .

    Например:

    • Для 32-разрядной версии .NET Framework 4 или 4.5 и более поздних версий, если каталог установки Windows - C: \ Windows , путь по умолчанию - C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ InstallUtil.exe .
    • Для 64-разрядной версии .NET Framework 4 или 4.5 и более поздних версий путь по умолчанию - C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ InstallUtil.exe .

Удалите службу вручную с помощью утилиты InstallUtil.exe

  1. В меню Пуск выберите каталог Visual Studio < версия > , затем выберите командную строку разработчика для VS < версия > .

    Появится командная строка разработчика для Visual Studio.

  2. Запустите InstallUtil.exe из командной строки с выводом вашего проекта в качестве параметра:

      installutil / u <ваш проект> .exe  
  3. После удаления исполняемого файла для службы служба может все еще присутствовать в реестре. В этом случае используйте команду sc delete, чтобы удалить запись для службы из реестра.

Установите службу вручную с помощью PowerShell

  1. В меню Пуск выберите каталог Windows PowerShell , затем выберите Windows PowerShell .

  2. Доступ к каталогу, в котором находится скомпилированный исполняемый файл вашего проекта.

  3. Запустите командлет New-Service с выходными данными проекта и именем службы в качестве параметров:

      New-Service -Name "YourServiceName" -BinaryPathName  .exe  

Удалите службу вручную с помощью PowerShell

  1. В меню Пуск выберите каталог Windows PowerShell , затем выберите Windows PowerShell .

  2. Запустите командлет Remove-Service с именем вашей службы в качестве параметра:

      Remove-Service -Name "YourServiceName"  
  3. После удаления исполняемого файла для службы служба может все еще присутствовать в реестре. В этом случае используйте команду sc delete, чтобы удалить запись для службы из реестра.

      sc.exe удалить "YourServiceName"  

См. Также

.

makefile - Как установить и использовать make в Windows?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
.

Смотрите также