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


Таблица MsiServiceConfigFailureActions

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

Установщик Windows 4.5 или более ранней версии: Не поддерживается. Эта таблица доступна начиная с установщика Windows 5.0.

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

Столбец Type Ключ Допускает значения NULL
MsiServiceConfigFailureActions Идентификатор Да N
Имя Форматированные Нет Нет
Событие Целое число Нет Нет
ResetPeriod Целое число Нет Да
RebootMessage Форматированные Нет Да
Get-Help Форматированные Нет Да
Действия Text N Да
DelayActions Text N Да
Компонент_ Идентификатор Нет Нет

 

Столбцы

MsiServiceConfigFailureActions

Это первичный ключ этой таблицы, который идентифицирует действие сбоя.

Имя

Этот столбец содержит имя службы, которая является частью этого пакета или уже установлена.

Событие

В этом столбце указывается, когда следует изменять конфигурацию службы. Следующие значения представляют собой битовые поля, которые можно объединить для представления нескольких операций. Любые другие значения битового поля игнорируются.

Константа Описание
msidbServiceConfigEventInstall1
Изменение во время установки компонента.
msidbServiceConfigEventUninstall2
Изменение во время удаления компонента.
msidbServiceConfigEventReinstall4
Изменение во время повторной установки компонента.

 

ResetPeriod

Период сброса в секундах для количества сбоев службы. Диспетчер управления службами (SCM) подсчитывает количество неудачных попыток каждой службы с момента последнего перезапуска системы. Счетчик сбрасывается до нуля, если служба не завершается сбоем в течение периода сброса. При сбое службы в N-й раз система выполняет действие, указанное в элементе [N-1] массива, указанного в поле Действия.

Оставьте поле ResetPeriod пустым, чтобы указать, что счетчик сбоев никогда не следует сбрасывать.

RebootMessage

Сообщение, отправленное пользователям перед перезагрузкой компьютера в ответ на действие SC_ACTION_REBOOT , указанное в столбце Действия. Для отправки текущего сообщения без изменений можно использовать пустую строку "". Вы можете использовать синтаксис [~] типа данных Formatted , чтобы удалить текущее сообщение и не отправлять сообщение.

Команды

Командная строка, выполняемая процессом, созданным функцией CreateProcess в ответ на действие SC_ACTION_RUN_COMMAND , указанное в столбце Действия. Новый процесс выполняется под той же учетной записью, что и служба, и только в том случае, если поле Действие SC_ACTION_RUN_COMMAND. Вы можете использовать пустую строку "", чтобы использовать текущую командную строку без изменений. Вы можете использовать синтаксис [~] типа данных Formatted , чтобы удалить текущую командную строку и не выполнять никаких операций при сбое службы.

Действия

Это поле содержит массив целочисленных значений, определяющих действия, выполняемые SCM в случае сбоя службы. Разделите значения в массиве по [~]. Целочисленное значение в N-м элементе массива указывает действие, выполняемое при сбое службы в течение N-го времени. Каждый элемент массива является одним из следующих целочисленных значений.

Константа Описание
SC_ACTION_NONE0
Никаких действий не выполняется.
SC_ACTION_REBOOT2
Перезагрузите компьютер.
SC_ACTION_RESTART1
Перезапустите службу.
SC_ACTION_RUN_COMMAND3
Выполните команду .

 

DelayActions

Это поле содержит массив целочисленных значений, определяющих время ожидания в миллисекундах перед выполнением действия, указанного в столбце Действие. Разделите значения в массиве по [~]. Количество элементов в массиве DelayActions должно быть равно количеству элементов в массиве Actions. N-й элемент массива DelayActions указывает временную задержку для n-го элемента массива Actions.

Компонент_

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

Проверка

ICE102
ICE03
ICE06
ICE32
ICE45
ICE46
ICE69