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 列的外部键。
验证