ServiceControl 資料表
ServiceControl 資料表可用來控制已安裝或卸載的服務。
注意
無法使用ServiceInstall和 ServiceControl 資料表安裝或啟動依賴全域組件快取 (GAC) 中的元件。 如果您需要啟動相依于 GAC 中的元件的服務,則必須使用 依 InstallFinalize 動作 或 認可自訂動作之後排序的自訂動作。 如需將元件安裝至 GAC 的詳細資訊,請參閱將 元件安裝至全域組件快取。
ServiceControl 資料表具有下列資料行。
資料行 | 類型 | 答案 | Nullable |
---|---|---|---|
ServiceControl | 識別碼 | Y | N |
名稱 | 格式 化 | N | N |
事件 | 整數 | N | N |
引數 | 格式 化 | N | Y |
等候 | 整數 | N | Y |
元件_ | 識別碼 | N | N |
資料行
-
ServiceControl
-
這是此資料表的主鍵。
-
名字
-
此資料行是命名服務的字串。 此資料行可用來控制未安裝的服務。
-
事件
-
此資料行包含要對具名服務執行的作業。 請注意,停止服務時,相依于該服務的所有服務也會停止。 刪除正在執行的服務時,安裝程式會停止服務。
此欄位中的值是位欄位,可結合成代表數個作業的單一值。
下列值只會在安裝期間使用。
常數 十六進位 Decimal 描述 msidbServiceControlEventStart 0x001 1 在 StartServices 動作期間啟動服務。 msidbServiceControlEventStop 0x002 2 在 StopServices 動作期間停止服務。 (無) 0x004 4 <保留> msidbServiceControlEventDelete 0x008 8 在 DeleteServices 動作期間刪除服務。 下列值只會在卸載期間使用。
常數 十六進位 Decimal 描述 msidbServiceControlEventUninstallStart 0x010 16 在 StartServices 動作期間啟動服務。 msidbServiceControlEventUninstallStop 0x020 32 在 StopServices 動作期間停止服務。 (無) 0x040 64 <保留> msidbServiceControlEventUninstallDelete 0x080 128 在 DeleteServices 動作期間刪除服務。 -
參數
-
啟動服務的引數清單。 引數會以 Null 字元 [~] 分隔。 例如,一、二和三個引數的清單會列為:One[~]Two[~]Three。
-
等
-
將此欄位保留 null 或輸入值為 1,會導致安裝程式等候最多 30 秒,讓服務在繼續之前完成。 等候可用來允許重大事件傳回失敗錯誤的額外時間。 此欄位中的值為 0 表示只有在服務控制管理員 (SCM) 報告此服務處於擱置狀態,再繼續進行安裝。
-
元件_
-
元件資料表第一欄的外部索引鍵。
備註
循序資料表中的StartServices、StopServices和DeleteServices動作會處理此資料表中的資訊。 如需使用 時序表的詳細資訊,請參閱 使用序列資料表。
使用 [名稱] 資料行來啟動、停止或刪除安裝所取代的服務,或相依于所安裝之新服務的服務。 例如,在 ServiceControl 資料行中輸入 MyService 可以將此服務系結至 Component_ 資料行中的 MyComponent。 如果 [事件] 資料行中的位欄位是在安裝時設定為 [開始],則安裝程式會在安裝 MyComponent 時啟動 MyService。
驗證