Поделиться через


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

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

Примечание

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

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

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

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

Примечание

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

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

  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, добавленный на третьем шаге, работает со всеми имеющимися в проекте установщиками служб.

  9. Создайте проект установки, а также все настраиваемые действия, необходимые для развертывания и установки службы. Дополнительные сведения о проектах установки см. в разделе Проекты установки и развертывания. Дополнительные сведения о настраиваемых действиях см. в разделе Пошаговое руководство. Создание настраиваемого действия.

См. также

Задачи

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

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

Практическое руководство. Назначение службам контекста безопасности

Основные понятия

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