MsiServiceConfig 表

MsiServiceConfig 表配置当前包已安装或正在安装的服务。

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

MsiServiceConfig 表具有以下列。

类型 密钥 Nullable
MsiServiceConfig Identifier Y N
名称 Formatted N N
事件 整数 N N
ConfigType 整数 N N
参数 Formatted N Y
Component_ Identifier N N

 

MsiServiceConfig

这是此表的主键。

Name

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

Event

此列指定何时更改服务配置。 可以组合以下值来表示多个操作。 这些值以外的任何值将被忽略。

返回的常量 说明
msidbServiceConfigEventInstall1
在安装组件期间执行操作。
msidbServiceConfigEventUninstall2
在卸载组件期间执行操作。
msidbServiceConfigEventReinstall4
在重新安装组件期间执行操作。

 

ConfigType

此字段中的值与 Arguments 字段中的值相结合,指定对服务配置所做的更改。 指定的更改在下次系统启动时生效。

Config 说明
SERVICE_CONFIG_DELAYED_AUTO_START3
配置自动启动服务的时间延迟。
在 Argument 字段中输入 1 可在其他自动启动服务后再经过时间延迟后启动服务。
在 Argument 字段中输入 0 可关闭自动启动服务延迟。
仅适用于以下两种类型的服务:自动启动服务;由此包安装并且 ServiceInstall 表的 StartType 字段中包含 SERVICE_AUTO_START。
SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO6
更改服务所需的特权列表。
在 Argument 字段中输入请求的权限列表。 Argument 字段中的 Formatted 字符串值列出了所请求权限的权限常量。 可以使用 Formatted 字符串的 [~] 语法来插入 null 字符。 使用 [~] 分隔列表中的权限常量。
SERVICE_CONFIG_SERVICE_SID_INFO5
将服务 SID 类型添加到包含此服务的进程令牌。
在 Argument 字段中为 SERVICE_SID_INFO 结构输入有效的服务 SID 类型:SERVICE_SID_TYPE_NONE (0x00)、SERVICE_SID_TYPE_RESTRICTED (0x03) 或 SERVICE_SID_TYPE_UNRESTRICTED (0x01)。
SERVICE_CONFIG_PRESHUTDOWN_INFO7
配置服务控制管理器 (SCM) 在继续执行其他关闭操作之前等待的时间长度。 SCM 在向服务发送 SERVICE_CONTROL_PRESHUTDOWN 通知后等待这段时间。
在 Argument 字段中输入时间延迟长度(以毫秒为单位)。 将 Argument 字段留空,将时间延迟重置为默认值 3 分钟。
SERVICE_CONFIG_FAILURE_ACTIONS_FLAG4
配置何时运行此服务的失败操作。 如果没有为服务配置失败操作,则忽略此设置。
如果输入 0,则仅当满足以下条件才会运行操作:服务终止且没有报告 SERVICE_STOPPED。
如果输入 1,则仅当满足以下条件才会运行操作:服务终止,报告了 SERVICE_STOPPED,而且 SERVICE_STATUS 结构的 dwWin32ExitCode 成员不是 ERROR_SUCCESS。 如果服务终止而未报告 SERVICE_STOPPED,则也会运行配置的失败操作。

 

Argument

此字段中的值与 ConfigType 字段中的值相结合,指定对服务配置所做的更改。 指定的更改在下次系统启动时生效。

Component_

Component 表的 Component 列的外部键。

验证

ICE102
ICE03
ICE06
ICE32
ICE45
ICE46
ICE69