ServiceControl 數據表
ServiceControl 數據表可用來控制已安裝或卸載的服務。
注意
無法使用 ServiceInstall 和 ServiceControl 數據表來安裝或啟動依賴全域程式集緩存中 元件 的服務。 如果您需要啟動相依於 GAC 中的元件的服務,您必須使用在安裝Finalize 巨集指令 之後排序的自定義動作 或 認可自定義動作。 如需將元件安裝至 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 字元 [~] 分隔。 例如,自變數清單一、二和三會列為:One[~]Two[~]Three。
-
等候
-
將此欄位保留 Null 或輸入 1 的值,會導致安裝程式等候最多 30 秒,讓服務在繼續之前完成。 等候可用來允許重大事件傳回失敗錯誤的額外時間。 此欄位中的值為 0 表示只等到服務控制管理員 (SCM) 報告此服務處於擱置狀態,再繼續進行安裝。
-
Component_
-
元件數據表之一數據行的外部索引鍵。
言論
StartServices、StopServices,以及 DeleteServices順序數據表中的動作, 處理此數據表中的資訊。 如需使用 時序表的詳細資訊,請參閱使用時序表 。
使用 [名稱] 資料行啟動、停止或刪除安裝所取代的服務,或相依於安裝的新服務。 例如,在 ServiceControl 數據行中輸入 MyService 可以將此服務系結至 Component_ 數據行中的 MyComponent。 如果 [事件] 資料行中的位字段在安裝時設定為 [開始],則安裝程式會在安裝 MyComponent 時啟動 MyService。
驗證