Практическое руководство. Установка и удаление служб Windows

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

Эта документация не относится к последней версии службы Windows. Последние сведения об использовании BackgroundService служб Windows и шаблоне рабочей службы см. в следующих статье:

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

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

Если вы хотите удалить службу на своем компьютере, не выполняйте процедуру, описанную в этой статье. Вместо этого определите, какая программа (или программный пакет) установила эту службу, а затем выберите Приложения в параметрах, чтобы удалить эту программу. Многие службы являются составной частью ОС Windows. Если их удалить, это может привести к нестабильной работе системы.

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

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

Совет

Запустите обозреватель сервера и убедитесь, что служба установлена или удалена.

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

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

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

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

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

    installutil <yourproject>.exe
    

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

    Например:

    • Для 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 <yourproject>.exe
    
  3. После удаления исполняемого файла для службы сама служба может по-прежнему присутствовать в реестре. В этом случае удалить запись службы из реестра можно с помощью команды sc delete.

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

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

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

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

    New-Service -Name "YourServiceName" -BinaryPathName <yourproject>.exe
    

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

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

  2. Выполните командлет Remove-Service, указав в качестве аргумента имя службы.

    Remove-Service -Name "YourServiceName"
    

    Примечание.

    Чтобы использовать этот командлет, требуется PowerShell 6 или более поздней версии. Дополнительные сведения см. в статье Установка PowerShell в Windows.

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

    sc.exe delete "YourServiceName"
    

См. также