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


Таблица ServiceControl

Таблица ServiceControl используется для управления установленными или удаленными службами.

Примечание

Службы, которые зависят от наличия сборки в глобальном кэше сборок (GAC), невозможно установить или запустить с помощью таблиц ServiceInstall и ServiceControl. Если необходимо запустить службу, которая зависит от сборки в глобальном кэше сборок, необходимо использовать настраиваемое действие, последовательное после действия InstallFinalize , или пользовательское действие фиксации. Сведения об установке сборок в глобальном кэше сборок см. в разделе Установка сборок в глобальный кэш сборок.

 

Таблица ServiceControl содержит следующие столбцы.

Столбец Type Ключ Допускает значения NULL
ServiceControl Идентификатор Да Нет
Имя Форматированные Нет Нет
Событие Целое число N N
Аргументы Форматированные N Да
Ожидание Целое число Нет Да
Компонент_ Идентификатор Нет N

 

Столбцы

ServiceControl

Это первичный ключ этой таблицы.

Имя

Этот столбец представляет собой строку, именующую службу. Этот столбец можно использовать для управления неустановленной службой.

Событие

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

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

Следующие значения используются только во время установки.

Константа Шестнадцатеричный Decimal Описание
msidbServiceControlEventStart 0x001 1 Запускает службу во время действия StartServices.
msidbServiceControlEventStop 0x002 2 Останавливает службу во время действия StopServices.
(нет) 0x004 4 <Защищены>
msidbServiceControlEventDelete 0x008 8 Удаляет службу во время действия DeleteServices.

 

Следующие значения используются только во время удаления.

Константа Шестнадцатеричный Decimal Описание
msidbServiceControlEventUninstallStart 0x010 16 Запускает службу во время действия StartServices.
msidbServiceControlEventUninstallStop 0x020 32 Останавливает службу во время действия StopServices.
(нет) 0x040 64 <Защищены>
msidbServiceControlEventUninstallDelete 0x080 128 Удаляет службу во время действия DeleteServices.

 

Аргументы

Список аргументов для запуска служб. Аргументы разделяются символами NULL [~]. Например, список аргументов One, Two и Three отображается следующим образом: One[~]Two[~]Three.

Подожди

Если оставить это поле null или ввести значение 1, установщик будет ожидать завершения службы не более 30 секунд, прежде чем продолжить. Ожидание можно использовать, чтобы дать дополнительное время критическому событию, чтобы вернуть ошибку сбоя. Значение 0 в этом поле означает ожидание только до тех пор, пока диспетчер управления службами (SCM) сообщит, что эта служба находится в состоянии ожидания, прежде чем продолжить установку.

Компонент_

Внешний ключ к столбцу один из таблиц компонентов.

Комментарии

Действия StartServices, StopServices и DeleteServices в таблицах последовательностей обрабатывают сведения в этой таблице. Сведения об использовании таблиц последовательностей см. в разделе Использование таблицы последовательностей.

Используйте столбец Имя для запуска, остановки или удаления служб, которые заменяются установкой или зависят от новой устанавливаемой службы. Например, ввод MyService в столбец ServiceControl может привязать эту службу к MyComponent в столбце Component_. Если битовое поле в столбце Event задано для запуска во время установки, то установщик запускает MyService при установке MyComponent.

Проверка

ICE03
ICE06
ICE32
ICE45
ICE46
ICE69