Windows добавить службу реестр

Описание команды SC CREATE

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

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

sc [имя_сервера] create [имя_службы] [type= >] [start= ] [error= ] [binpath= имя_двоичного_пути] [group= группа_порядка_загрузки] [tag= ] [depend= зависимости] [obj= <имя_учетной_записи|имя_объекта>] [displayname= отображаемое_имя] [password= пароль]

  • имя_сервера — Задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC («\\myserver»). Чтобы запустить SC локально, этот параметр следует пропустить.
  • имя_службы — Указывает имя службы, возвращенное операцией getkeyname.
  • type= > — Указывает тип службы. Тип по умолчанию type= own.
  • start= — Указывает тип запуска для службы. Тип запуска по умолчанию start= demand.
  • error= — Указывает серьезность ошибки, если служба не запускается при загрузке. Значение параметра по умолчанию error= normal.
  • binpath= имя_двоичного_пути — Указывает путь в двоичном файле службы. Значение по умолчанию для параметра binpath= не задано. Эту строку необходимо указать.
  • group= группа_порядка_загрузки — Указывает имя группы, членом которой является эта служба. Список групп сохраняется в реестре в подразделе HKLM\System\CurrentControlSet\Control\ServiceGroupOrder. Значение по умолчанию является пустым.
  • tag= — Указывает, следует ли получить код TagID из вызова CreateService. Теги используются только драйверами, запускающимися при загрузке или запуске системы.
  • depend= зависимости — Указывает имена служб и групп, которые должны быть запущены раньше данной службы. Имена разделяются косой чертой (/).
  • obj= <имя_учетной_записи|имя_объекта>— Указывает имя учетной записи, для которой будет выполняться служба, или имя объекта драйвера Windows, в котором будет запущен драйвер
  • displayname= отображаемое_имя — Определяет понятное, точное имя для службы, которое используется в программах пользовательского интерфейса.
  • password= пароль — Задает пароль. Данный параметр требуется при использовании учетной записи, отличной от учетной записи «Локальная система».
  • /? — Отображает справку в командной строке.

Windows добавить службу реестр

Как создать службу без сторонних программ?
Вот я, например, взял программу для создания служб, отследил изменения в реестре, по изменениям экспортировал все значения. После этого удалю ту же службу(через ту же программу) запускаю .reg файл и не удается записать в реестр по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_ и HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceCurrent. Может надо по определённой последовательности записывать значение в реестр? Или можно создать через командную сроку?

Не большая сатья по «SC CREATE»

Примеры:
sc \\myserver create NewService binpath= «c:\windows\system32\NewServ.exe»
\\myserver — задает имя удаленного сервера, на котором находится служба. В имени следует использовать формат UNC («\\myserver»).
sc create NewService binpath= «c:\windows\system32\NewServ.exe» type= share start= auto depend= «Service»
Служба находится на вашем компьютере.

type= > — Указывает тип службы. Тип по умолчанию type= own.
own — Служба выполняется в собственном процессе. Она не использует исполняемый файл совместно с другими службами.
share — Служба выполняется как общий процесс. Она использует исполняемый файл совместно с другими службами
kernel — Драйвер
filesys — Драйвер файловой системы
rec — Драйвер, определяющий файловую систему (указывает файловые системы, используемые на компьютере)
interact — Служба может взаимодействовать с рабочим столом, получая входные данные от пользователей. Интерактивные службы должны выполняться с системной учетной записью. Этот тип должен использоваться вместе с type= own или type= shared (например, type= interact type= own). Самостоятельное использование типа type= interact приведет к ошибке недопустимого параметра.

start= — Указывает тип запуска для службы. Тип запуска по умолчанию start= demand.
boot — Драйвер устройства, который загружается загрузчиком системы
system — Драйвер устройства, который запускается при инициализации ядра
auto — Служба, которая автоматически запускается при каждой перезагрузке компьютера и даже в том случае, если на компьютер не вошел ни один пользователь
demand — Служба, которая должна запускаться вручную. Это значение используется по умолчанию, если не указан параметр start=
disabled — Служба, которую нельзя запустить. Чтобы запустить отключенную службу, выберите другой тип запуска

error= — Указывает серьезность ошибки, если служба не запускается при загрузке. Значение параметра по умолчанию error= normal.
normal — Ошибка записывается в журнал и выводится окно сообщения, информирующее пользователя об отказе при запуске службы. Запуск будет продолжен.
severe — Ошибка заносится в журнал (если это возможно). Компьютер пытается перезагрузиться в последней удачной конфигурации. Компьютер можно будет перезагрузить, но выполнить службу, возможно, не удастся.
critical — Ошибка заносится в журнал (если это возможно). Компьютер пытается перезагрузиться в последней удачной конфигурации. Если имеет место отказ последней правильной конфигурации, запуск также приведет к отказу и процесс загрузки остановится на ошибке.
ignore — Ошибка заносится в журнал и запуск продолжается. Ошибка записывается в журнал ошибок и другие уведомления пользователю не выводятся.

binpath= имя двоичного пути
Указывает путь в двоичном файле службы. Значение по умолчанию для параметра binpath= не задано. Эту строку необходимо указать.

group= группа порядка загрузки
Указывает имя группы, членом которой является эта служба. Список групп сохраняется в реестре в подразделе HKLM\System\CurrentControlSet\Control\ServiceGroupOrder. Значение по умолчанию является пустым.

tag=
Указывает, следует ли получить код TagID из вызова CreateService. Теги используются только драйверами, запускающимися при загрузке или запуске системы.

depend= зависимости
Указывает имена служб и групп, которые должны быть запущены раньше данной службы. Имена разделяются косой чертой (/).

obj=
Указывает имя учетной записи, для которой будет выполняться служба, или имя объекта драйвера Windows, в котором будет запущен драйвер.

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

password= пароль
Задает пароль. Данный параметр требуется при использовании учетной записи, отличной от учетной записи «Локальная система».

/? — Отображает справку в командной строке.

Практическое руководство. Установка и удаление служб Windows How to: Install and uninstall Windows services

Если вы разрабатываете службу Windows с помощью .NET Framework, вы можете быстро установить приложение службы с помощью служебной программы командной строки InstallUtil.exe или PowerShell. If you’re developing a Windows service with the .NET Framework, you can quickly install your service app by using the InstallUtil.exe command-line utility or PowerShell. Если вы являетесь разработчиком и хотите создать службу Windows, которую пользователи могут устанавливать и удалять, можно использовать набор инструментов WiX или коммерческие средства, такие как Advanced Installer, InstallShield или другие. Developers who want to release a Windows service that users can install and uninstall can use the free WiX Toolset or commercial tools like Advanced Installer, InstallShield, or others. См. сведения о создании пакета установщика (классическое приложение Windows). For more information, see Create an installer package (Windows desktop).

Если вы хотите удалить службу на своем компьютере, не выполняйте процедуру, описанную в этой статье. If you want to uninstall a service from your computer, don’t follow the steps in this article. Вместо этого определите, какая программа (или программный пакет) установила эту службу, а затем выберите Приложения в параметрах, чтобы удалить эту программу. Instead, find out which program or software package installed the service, and then choose Apps in Settings to uninstall that program. Следует отметить, что многие службы являются составной частью ОС Windows. Если их удалить, это может привести к нестабильной работе системы. Note that many services are integral parts of Windows; if you remove them, you might cause system instability.

Чтобы использовать процедуру, описанную в этой статье, сначала необходимо добавить установщик службы в свою службу Windows. To use the steps in this article, you first need to add a service installer to your Windows service. Дополнительные сведения см. в разделе Пошаговое руководство: создание диспетчера служб Windows. For more information, see Walkthrough: Creating a Windows service app.

Проекты служб Windows нельзя запускать непосредственно из среды разработки Visual Studio путем нажатия клавиши F5. You can’t run Windows service projects directly from the Visual Studio development environment by pressing F5. Перед запуском проекта необходимо установить службу в проекте. Before you can run the project, you must install the service in the project.

Запустите обозреватель сервера и убедитесь, что служба установлена или удалена. You can use Server Explorer to verify that you’ve installed or uninstalled your service.

Установка с помощью программы InstallUtil.exe Install using InstallUtil.exe utility

В меню Пуск выберите каталог Visual Studio и затем Командная строка разработчика для VS . From the Start menu, select the Visual Studio directory, then select Developer Command Prompt for VS .

Появится командная строка разработчика для Visual Studio. The Developer Command Prompt for Visual Studio appears.

Откройте каталог, где находится скомпилированный исполняемый файл вашего проекта. Access the directory where your project’s compiled executable file is located.

Запустите InstallUtil.exe из командной строки, указав исполняемый файл проекта в качестве параметра: Run InstallUtil.exe from the command prompt with your project’s executable as a parameter:

Если вы используете командную строку разработчика для Visual Studio, системный путь должен указывать на файл InstallUtil.exe. If you’re using the Developer Command Prompt for Visual Studio, InstallUtil.exe should be on the system path. Если это не так, можно добавить его в путь или использовать полный путь для его вызова. Otherwise, you can add it to the path, or use the fully qualified path to invoke it. Этот инструмент устанавливается вместе с платформой .NET Framework в папку %WINDIR%\Microsoft.NET\Framework[64]\ . This tool is installed with the .NET Framework in %WINDIR%\Microsoft.NET\Framework[64]\ .

Пример: For example:

  • Для 32-разрядной версии .NET Framework 4 или 4.5 и более поздних версий: если каталог установки Windows — C:\Windows, по умолчанию используется путь C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe. For the 32-bit version of the .NET Framework 4 or 4.5 and later, if your Windows installation directory is C:\Windows, the default path is 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. For the 64-bit version of the .NET Framework 4 or 4.5 and later, the default path is C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe.

Удаление с помощью служебной программы InstallUtil.exe Uninstall using InstallUtil.exe utility

В меню Пуск выберите каталог Visual Studio и затем Командная строка разработчика для VS . From the Start menu, select the Visual Studio directory, then select Developer Command Prompt for VS .

Появится командная строка разработчика для Visual Studio. The Developer Command Prompt for Visual Studio appears.

Запустите InstallUtil.exe из командной строки, указав выходные данные проекта в качестве параметра: Run InstallUtil.exe from the command prompt with your project’s output as a parameter:

После удаления исполняемого файла для службы сама служба может по-прежнему присутствовать в реестре. After the executable for a service is deleted, the service might still be present in the registry. В этом случае удалить запись службы из реестра можно с помощью команды sc delete. If that’s the case, use the command sc delete to remove the entry for the service from the registry.

Установка с помощью PowerShell Install using PowerShell

В меню Пуск выберите Каталог Windows PowerShell и Windows PowerShell. From the Start menu, select the Windows PowerShell directory, then select Windows PowerShell.

Откройте каталог, где находится скомпилированный исполняемый файл вашего проекта. Access the directory where your project’s compiled executable file is located.

Выполните командлет New-Service, указав в качестве параметров выходные данные проекта и имя службы. Run the New-Service cmdlet with the with your project’s output and a service name as parameters:

Удаление с помощью PowerShell Uninstall using PowerShell

В меню Пуск выберите Каталог Windows PowerShell и Windows PowerShell. From the Start menu, select the Windows PowerShell directory, then select Windows PowerShell.

Выполните командлет Remove-Service, указав в качестве параметра имя службы. Run the Remove-Service cmdlet with the name of your service as parameter:

После удаления исполняемого файла для службы сама служба может по-прежнему присутствовать в реестре. After the executable for a service is deleted, the service might still be present in the registry. В этом случае удалить запись службы из реестра можно с помощью команды sc delete. If that’s the case, use the command sc delete to remove the entry for the service from the registry.

Читайте также:  Phone with kali linux
Оцените статью