ServiceControl テーブル
ServiceControl テーブルは、インストール/アンインストールされたサービスを制御するために使用されます。
Note
グローバル アセンブリ キャッシュ (GAC) にあるアセンブリの存在に依存するサービスは、ServiceInstall テーブルと ServiceControl テーブルを使用するインストールまたは開始はできません。 GAC のアセンブリに依存するサービスを開始する必要がある場合は、InstallFinalize アクションまたはコミット カスタム アクションの後にシーケンス処理されたカスタム アクションを使用する必要があります。 アセンブリの GAC へのインストールに関する詳細については、「アセンブリのグローバル アセンブリ キャッシュへのインストール」を参照してください。
ServiceControl テーブルには次の列があります。
Column | 種類 | キー | Nullable |
---|---|---|---|
ServiceControl | Identifier | Y | N |
名前 | Formatted | N | N |
イベント | 整数 | N | N |
引数 | Formatted | N | Y |
Wait | 整数 | N | Y |
Component_ | Identifier | N | N |
[列]
-
ServiceControl
-
このテーブルの主キーです。
-
Name
-
この列はサービスに名前を付ける文字列です。 使用すると、インストールされていないサービスを制御できます。
-
Event
-
この列には、名前付きサービスで実行される操作が含まれています。 サービスを停止すると、そのサービスに依存するすべてのサービスも停止されることにご注意ください。 実行中のサービスを削除すると、インストーラーによってサービスが停止されます。
このフィールドの値は、複数の操作を表す 1 つの値に結合できるビット フィールドです。
次の値はインストール中にのみ使用されます。
一定 16 進数 Decimal (10 進数型) 説明 msidbServiceControlEventStart 0x001 1 StartServices アクション中にサービスを開始します。 msidbServiceControlEventStop 0x002 2 StopServices アクション中にサービスを停止します。 (なし) 0x004 4 <reserved> msidbServiceControlEventDelete 0x008 8 DeleteServices アクション中にサービスを削除します。 次の値はアンインストール中にのみ使用されます。
一定 16 進数 Decimal (10 進数型) 説明 msidbServiceControlEventUninstallStart 0x010 16 StartServices アクション中にサービスを開始します。 msidbServiceControlEventUninstallStop 0x020 32 StopServices アクション中にサービスを停止します。 (なし) 0x040 64 <reserved> msidbServiceControlEventUninstallDelete 0x080 128 DeleteServices アクション中にサービスを削除します。 -
Arguments
-
サービスを開始するための引数リスト。 引数は null 文字 [~] で区切られます。 たとえば、引数 One、Two、Three のリストは One[~]Two[~]Three としてリストされます。
-
Wait
-
このフィールドを null のままにするか値 1 を入力すると、インストーラーはサービスが完了するまで最大 30 秒待機してから続行します。 この間に、重大なイベントが失敗エラーを返す時間を追加できます。 このフィールドの値が 0 の場合は、サービス制御マネージャー (SCM) がこのサービスは保留中の状態であることを報告するまで待機してからインストールを続行することを意味します。
-
Component_
-
Component テーブルの列 1 に対する外部キー。
解説
シーケンス テーブルの StartServices、StopServices、DeleteServices アクションは、このテーブルの情報を処理します。 シーケンス テーブルの使用については、「Sequence テーブルの使用」を参照してください。
Name 列を使用して、インストールによって置き換えられるサービスまたはインストールされている新しいサービスに依存するサービスを開始、停止、または削除します。 たとえば、「MyService」と ServiceControl 列に入力すると、このサービスを Component_ 列の MyComponent に関連付けられます。 インストール中に Event 列のビット フィールドが開始するように設定されている場合、インストーラーは MyService を MyComponent のインストール時に起動します。
検証