MsiServiceConfigFailureActions 表

MsiServiceConfigFailureActions 表列出在服务失败后要运行的操作。 此表中指定的操作在下次启动系统时运行。

Windows Installer 4.5 或更低版本:不支持。 此表从 Windows Installer 5.0 开始提供。

MsiServiceConfigFailureActions 表包含以下列。

类型 密钥 Nullable
MsiServiceConfigFailureActions Identifier Y N
名称 Formatted N N
事件 整数 N N
ResetPeriod 整数 N Y
RebootMessage Formatted N Y
Command Formatted N Y
操作 文本 N Y
DelayActions 文本 N Y
Component_ Identifier N N

 

MsiServiceConfigFailureActions

这是此表的主键,用于标识失败操作。

Name

此列包含属于此包的服务或已安装服务的名称。

Event

此列指定何时更改服务的配置。 以下值是可以组合的以表示多个操作的位字段。 将忽略任何其他位字段值。

返回的常量 说明
msidbServiceConfigEventInstall1
在安装组件期间更改。
msidbServiceConfigEventUninstall2
在卸载组件期间更改。
msidbServiceConfigEventReinstall4
在重新安装组件期间更改。

 

ResetPeriod

服务失败计数的重置周期(以秒为单位)。 服务控制管理器 (SCM) 会统计自上次重启系统以来每个服务失败的次数。 如果服务在重置周期内未失败,则计数将重置为零。 当服务第 N 次失败时,系统会执行 Actions 字段中指定的数组的元素 [N-1] 中指定的操作。

将 ResetPeriod 字段留空表示永远不重置失败计数。

RebootMessage

在重启计算机以响应 Actions 列中指定的 SC_ACTION_REBOOT 操作之前发送给用户的消息。 可以使用空字符串 "" 按原样发送当前消息。 可以使用 Formatted 数据类型的 [~] 语法删除当前消息且不发送任何消息。

Command

CreateProcess 函数创建的进程运行的命令行,用于响应 Actions 列中指定的 SC_ACTION_RUN_COMMAND 操作。 新进程在与服务相同的帐户下运行,并且仅当 Action 字段为 SC_ACTION_RUN_COMMAND 时才会运行。 可以使用空字符串 "" 来按原样使用当前命令行。 可以使用 Formatted 数据类型的 [~] 语法删除当前命令行,并在服务失败时不运行任何操作。

Actions

此字段包含一个整数值数组,这些值指定当服务失败时 SCM 要执行的操作。 用 [~] 分隔数组中的值。 数组的第 N 个元素中的整数值指定当服务第 N 次失败时要执行的操作。 数组的每个成员是以下整数值之一。

返回的常量 说明
SC_ACTION_NONE0
无操作。
SC_ACTION_REBOOT2
重新启动计算机。
SC_ACTION_RESTART1
重启服务。
SC_ACTION_RUN_COMMAND3
运行命令。

 

DelayActions

此字段包含一个整数值数组,这些值指定在执行 Action 列中指定的操作之前要等待的时间(以毫秒为单位)。 用 [~] 分隔数组中的值。 DelayActions 数组中的元素数必须等于 Actions 数组中的元素数。 DelayActions 数组的第 N 个元素指定 Actions 数组的第 n 个元素的时间延迟。

Component_

Component 表第一列的外键。

验证

ICE102
ICE03
ICE06
ICE32
ICE45
ICE46
ICE69