Использование конфигурации служб

Конфигурация служб позволяет установщику Windows настраивать службы на компьютере. Разработчики могут создать пакет установщика Windows для установки, остановки, запуска и удаления служб во время установки с помощью таблиц ServiceControl и ServiceInstall , а также действий InstallServices, StopServices и DeleteServices .

Начиная с пакетов, написанных для установщика Windows 5.0, разработчики также могут использовать стандартное действие MsiConfigureServices и таблицу MsiServiceConfig для настройки параметров расширенной настройки службы, доступных в Windows 7 и Windows Server 2008 R2, а также Windows Vista и Windows Server 2008. Существующие пакеты установки, написанные для версий установщика Windows, которые не включали таблицу MsiServiceConfig, по-прежнему можно установить с помощью установщика Windows 5.0. Компонент конфигурации служб установщика Windows не может настроить учетные записи сетевых служб, установить процессы узла общих служб (svchost) или перезапустить службы, остановленные в процессе установки.

Windows XP и Windows Server 2003 или более ранние версии: Не поддерживается. Таблицы конфигурации служб и стандартные действия доступны начиная с установщика Windows 5.0, работающего в Windows 7 и Windows Server 2008 R2 и Установщика Windows 4.5, работающего в Windows Vista и Windows Server 2008.

Необходимо включить действие MsiConfigureServices в таблицу InstallExecuteSequence , чтобы запросить конфигурации службы, указанные в таблице MsiServiceConfig. Установщик Windows использует сведения из таблицы MsiServiceConfig, только если стандартное действие MsiConfigureServices включено в таблицу последовательностей. Стандартное действие MsiConfigureServices также использует сведения в таблицах ServiceControl и ServiceInstall .

Чтобы запросить предоставление системой только необходимых привилегий определенной службе, укажите службу и параметр конфигурации SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO в таблице MsiServiceConfig. Удалите ненужные привилегии из маркера процесса службы. Этот параметр можно использовать для настройки служб, выполняемых в контексте безопасности учетных записей пользователей службы LocalSystem, LocalService или NetworkService.

Чтобы запросить, чтобы система откладывала автоматический запуск службы на некоторое время после запуска всех остальных служб автозапуска, укажите службу и параметр SERVICE_CONFIG_DELAYED_AUTO_START в таблице MsiServiceConfig. Отложенная служба должна быть установлена текущим пакетом с SERVICE_AUTO_START, указанным в таблице ServiceInstall , либо служба уже должна быть установлена как служба автоматического запуска.

Чтобы запросить резервирование системой ресурса для монопольного использования определенной службы, укажите службу, тип идентификатора безопасности службы и параметр конфигурации SERVICE_CONFIG_SERVICE_SID_INFO в таблице MsiServiceConfig. Добавьте идентификатор безопасности службы в список контроль доступа ресурса (ACL) для ресурса.

Чтобы запросить ожидание диспетчера управления службами (SCM) после отправки уведомления SERVICE_CONTROL_PRESHUTDOWN службе, выполните следующие действия. Укажите службу, продолжительность ожидания SCM и параметр конфигурации SERVICE_CONFIG_PRESHUTDOWN_INFO в таблице MsiServiceConfig.

Чтобы настроить, когда система должна выполнять действия после сбоя службы, укажите службу и параметр SERVICE_CONFIG_FAILURE_ACTIONS_FLAG в таблице MsiServiceConfig. Добавьте выполняемые действия в таблицу MsiServiceConfigFailureActions.

Дополнительные сведения о расширенных возможностях настройки служб, появившиеся в операционных системах Windows Vista и Windows Server 2008, см. в статье Изменения службы для Windows Vista.