Как: Добавить установщики в приложение службы

Замечание

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

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

Замечание

Значения свойств для службы копируются из класса службы в класс установщика. При обновлении значений свойств класса службы они не обновляются автоматически в установщике.

При добавлении установщика в проект новый класс (по умолчанию называется ProjectInstaller) создается в проекте, и в нем создаются экземпляры соответствующих компонентов установки. Этот класс выступает в качестве центральной точки для всех компонентов установки, необходимых для вашего проекта. Например, если добавить в приложение вторую службу и щелкнуть ссылку "Добавить установщик", второй класс установщика не создается; Вместо этого в существующий класс добавляется необходимый дополнительный компонент установки для второй службы.

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

Замечание

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

Добавление установщиков в приложение службы

  1. В обозревателе решений откройте представление конструктора для службы, для которой требуется добавить компонент установки.

  2. Щелкните фон конструктора, чтобы выбрать саму службу, а не ее содержимое.

  3. В фокусе конструктора щелкните правой кнопкой мыши и нажмите кнопку "Добавить установщик".

    Новый класс ProjectInstaller, два компонента установки ServiceProcessInstaller и ServiceInstaller также добавляются в ваш проект, а значения свойств службы копируются в компоненты.

  4. ServiceInstaller Щелкните компонент и убедитесь, что для свойства ServiceName установлено то же значение, что и для свойства ServiceName у самого сервиса.

  5. Чтобы определить, как будет запущена служба, щелкните ServiceInstaller компонент и задайте соответствующее значение для свойства StartType.

    Ценность Результат
    Manual После установки служба должна быть запущена вручную. Дополнительные сведения см. в разделе "Практическое руководство. Запуск служб".
    Automatic Служба запустится автоматически при перезагрузке компьютера.
    Disabled Не удается запустить службу.
  6. Чтобы определить контекст безопасности, в котором будет выполняться служба, щелкните ServiceProcessInstaller компонент и задайте соответствующие значения свойств. Дополнительные сведения см. в разделе "Практическое руководство. Указание контекста безопасности для служб".

  7. Переопределите все методы, для которых необходимо выполнить пользовательскую обработку.

  8. Выполните шаги 1–7 для каждой дополнительной службы в проекте.

    Замечание

    Для каждой дополнительной службы в проекте необходимо добавить дополнительный ServiceInstaller компонент в класс проекта ProjectInstaller . Компонент, ServiceProcessInstaller добавленный на шаге 3, работает со всеми отдельными установщиками служб в проекте.

См. также