サービス設定の使用
サービスの構成により、Windows インストーラーは、コンピューター上の サービスをカスタマイズできます。 開発者は、インストール中にサービスのインストール、停止、開始、および削除を行う Windows インストーラー パッケージを作成できます。そのためには、ServiceControl テーブルと InstallServices、StopServices、DeleteServices アクションをServiceInstall テーブルを使用します。
Windows インストーラー 5.0 用に記述されたパッケージ以降では、開発者は標準アクション msiConfigureServices と MsiServiceConfig テーブル を使用して、Windows 7 および Windows Server 2008 R2 および Windows Vista および Windows Server 2008 で使用できる拡張サービスカスタマイズ オプションを構成することもできます。 MsiServiceConfig テーブルを含まない Windows インストーラーのバージョン用に記述された既存のインストール パッケージは、Windows インストーラー 5.0 を使用してインストールできます。 Windows インストーラーのサービス構成機能では、ネットワーク サービス アカウントの構成、共有サービス ホスト (svchost) プロセスのインストール、インストールの一環として停止したサービスの再起動を行うことはできません。
Windows XP および Windows Server 2003 以前: サポートされていません。 サービス構成テーブルと標準アクションは、Windows Vista および Windows Server 2008 で実行されている Windows 7 および Windows Server 2008 R2 および Windows インストーラー 4.5 で実行されている Windows インストーラー 5.0 以降で使用できます。
MsiServiceConfig テーブルで指定したサービス構成を要求するには、InstallExecuteSequence テーブルに MsiConfigureServices アクションを含める必要があります。 Windows インストーラーは、MsiConfigureServices 標準アクションがシーケンス テーブルに含まれている場合にのみ、MsiServiceConfig テーブルの情報を使用します。 MsiConfigureServices 標準アクションはまた、ServiceControl テーブルと ServiceInstall テーブルの情報を使用します。
システムが特定のサービスに必要な特権のみを付与するように要求するには、MsiServiceConfig テーブルでサービスと SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO 構成オプション指定します。 不要な特権をサービスのプロセス トークンから削除します。 このオプションを使用すると、LocalSystem、LocalService、または NetworkService サービス ユーザー アカウントのセキュリティ コンテキストで実行サービスを構成できます。
他のすべての自動開始サービスの開始後、システムがサービスの自動開始を一定期間遅延するように要求するには、MsiServiceConfig テーブルでサービスと SERVICE_CONFIG_DELAYED_AUTO_START オプションを指定します。 遅延中のサービスは、ServiceInstall テーブルで指定されたSERVICE_AUTO_STARTを持つ現在のパッケージによってインストールされている必要があります。または、サービスが自動開始サービスとして既にインストールされている必要があります。
システムが特定のサービスの排他的使用のためにリソースを予約するように要求するには、MsiServiceConfig テーブルでサービス、サービス SID の種類、および SERVICE_CONFIG_SERVICE_SID_INFO 構成オプションを指定。 リソースのリソースのアクセス制御リスト (ACL) にサービスの SID を追加します。
SERVICE_CONTROL_PRESHUTDOWN 通知をサービスに送信した後、Service Control Manager (SCM) が待機するように要求するには、次の操作を行います。 サービス、SCM が待機する時間、MsiServiceConfig テーブルの SERVICE_CONFIG_PRESHUTDOWN_INFO 構成オプション指定します。
サービスの障害後にシステムがアクションを実行するタイミングを構成するには、MsiServiceConfig テーブルでサービスと SERVICE_CONFIG_FAILURE_ACTIONS_FLAG オプションを指定します。 MsiServiceConfigFailureActions テーブルに実行するアクションを追加します。
Windows Vista および Windows Server 2008 オペレーティング システムで導入された拡張サービスカスタマイズ機能の詳細については、「Windows Vista のサービスの変更」を参照してください。