Использование конфигурации служб
Конфигурация служб позволяет установщику 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, или служба должна быть уже установлена в качестве службы автозапуска.
Чтобы запросить у системы резервирование ресурса для эксклюзивного использования конкретной службы, укажите службу, тип SID службы и параметр конфигурации SERVICE_CONFIG_SERVICE_SID_INFO в таблице MsiServiceConfig. Добавьте SID службы в список управления доступом (ACL) ресурса.
Чтобы запросить от Service Control Manager (SCM) ожидание после отправки уведомления SERVICE_CONTROL_PRESHUTDOWN в службу, выполните указанные ниже действия. Укажите службу, время, в течение которого Диспетчер управления службами должен ждать, и параметр конфигурации SERVICE_CONFIG_PRESHUTDOWN_INFO в таблице MsiServiceConfig.
Чтобы настроить, когда система должна выполнять действия после сбоя службы, укажите службу и параметр SERVICE_CONFIG_FAILURE_ACTIONS_FLAG в таблице msiServiceConfig . Добавьте действия, которые необходимо выполнить, в таблицу MsiServiceConfigFailureActions .
Дополнительные сведения о расширенных возможностях настройки служб, представленных в операционных системах Windows Vista и Windows Server 2008, см. в разделе Изменения службы для Windows Vista.