ServiceControl 表
ServiceControl 表用于控制已安装或卸载的服务。
注意
不能使用 ServiceInstall 和 ServiceControl 表安装或启动依赖于全局程序集缓存中存在 程序集 的服务。 如果需要启动依赖于 GAC 中的程序集的服务,则必须使用在 InstallFinalize作 后排序的自定义作或 提交自定义作。 有关将程序集安装到 GAC 的信息,请参阅 将程序集安装到全局程序集缓存。
ServiceControl 表包含以下列。
列 | 类型 | 钥匙 | 空 |
---|---|---|---|
ServiceControl | 标识符 | Y | N |
名字 | 格式化 | N | N |
事件 | 整数 | N | N |
参数 | 格式化 | N | Y |
等 | 整数 | N | Y |
元件_ | 标识符 | N | N |
列
-
ServiceControl
-
这是此表的主键。
-
名称
-
此列是命名服务的字符串。 此列可用于控制未安装的服务。
-
事件
-
此列包含要对命名服务执行的作。 请注意,停止服务时,依赖于该服务的所有服务也会停止。 删除正在运行的服务时,安装程序将停止该服务。
此字段中的值是位字段,可以组合成表示多个作的单个值。
以下值仅在安装过程中使用。
不断 十六进制 十进制 描述 msidbServiceControlEventStart 0x001 1 在 StartServices作期间启动服务。 msidbServiceControlEventStop 0x002 2 在 StopServices作期间停止服务。 (无) 0x004 4 保留 <> msidbServiceControlEventDelete 0x008 8 在 DeleteServices作期间删除服务。 以下值仅在卸载期间使用。
不断 十六进制 十进制 描述 msidbServiceControlEventUninstallStart 0x010 16 在 StartServices作期间启动服务。 msidbServiceControlEventUninstallStop 0x020 32 在 StopServices作期间停止服务。 (无) 0x040 64 保留 <> msidbServiceControlEventUninstallDelete 0x080 128 在 DeleteServices作期间删除服务。 -
参数
-
启动服务的参数列表。 参数由 null 字符 [~] 分隔。 例如,参数列表一、二和三列为:一[~]Two[~]Three。
-
等待
-
将此字段留空或输入值 1 会导致安装程序等待最多 30 秒,使服务在继续之前完成。 等待可用于允许关键事件返回失败错误的额外时间。 此字段中的值为 0 表示仅等待服务控制管理器 (SCM) 报告此服务处于挂起状态,然后再继续安装。
-
Component_
-
组件表第一列的外部键。
言论
StartServices、StopServices,DeleteServices作 序列表中 处理此表中的信息。 有关 序列表的信息,请参阅 使用序列表。
使用“名称”列启动、停止或删除正在由安装替换的服务,或者依赖于正在安装的新服务。 例如,在 ServiceControl 列中输入 MyService 可将此服务绑定到 Component_ 列中的 MyComponent。 如果“事件”列中的位字段在安装时设置为“开始”,则安装程序在安装 MyComponent 时启动 MyService。
验证