Практическое руководство. Добавление установщиков в приложение служб

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

Эта документация не относится к последней версии службы Windows. Последние сведения об использовании 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 для каждой дополнительной службы в проекте.

    Примечание.

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

См. также