次の方法で共有


方法 : サービス アプリケーションにインストーラーを追加する

Visual Studio には、サービス アプリケーションに関連付けられたリソースをインストールできるインストール コンポーネントが組み込まれています。 インストール コンポーネントは、サービスをインストール先システムに登録し、サービス コントロール マネージャーにサービスの存在を知らせます。 サービス アプリケーションを作成するときに、[プロパティ] ウィンドウでリンクを選択して、適切なインストーラーをプロジェクトに自動的に追加できます。

注意

サービスのプロパティ値は、サービス クラスからインストーラー クラスにコピーされます。 サービス クラスのプロパティ値を更新しても、インストーラーのプロパティ値は更新されません。

インストーラーをプロジェクトに追加すると、新しいクラス (既定の名前は ProjectInstaller) がプロジェクトに作成され、そのクラス内にインストール コンポーネントのインスタンスが作成されます。 このクラスは、プロジェクトで必要なすべてのインストール コンポーネントの核になります。 たとえば、2 番目のサービスをアプリケーションに追加し、[インストーラーの追加] リンクをクリックしても、2 番目のインストーラー クラスは作成されません。代わりに、2 番目のサービスに必要な追加のインストール コンポーネントが、既存のクラスに追加されます。

サービスを正しくインストールするために、特別なコードをインストーラーに追加する必要はありません。 ただし、インストール プロセスに特殊な機能を追加する場合は、インストーラーの変更が必要になることもあります。

アプリケーションにインストーラーを追加した後、次の手順として、コンパイルされたプロジェクト ファイルをインストールし、サービスのインストールに必要なインストーラーを実行するセットアップ プログラムを作成します。 完全なセットアップ プロジェクトを作成するには、サービス プロジェクトの出力をセットアップ プロジェクトに追加し、サービスをインストールするカスタム処理を追加する必要があります。 セットアップ プロジェクトの詳細については、「セットアップ/配置プロジェクト」を参照してください。 カスタム動作の詳細については、「チュートリアル : カスタム動作の作成」を参照してください。

注意

実際に画面に表示されるダイアログ ボックスとメニュー コマンドは、アクティブな設定またはエディションによっては、ヘルプの説明と異なる場合があります。 設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。 詳細については、「設定の操作」を参照してください。

サービス アプリケーションにインストーラーを追加するには

  1. ソリューション エクスプローラーで、インストール コンポーネントを追加するサービスをデザイン ビューに表示します。

  2. デザイナーの背景をクリックして、サービスの内容ではなくサービス自体を選択します。

  3. デザイナーにフォーカスを置いた状態で右クリックし、[インストーラーの追加] をクリックします。

    新しいクラスの ProjectInstaller、および ServiceProcessInstallerServiceInstaller の 2 つのインストール コンポーネントが、プロジェクトに追加されます。また、サービスのプロパティ値がこれらのコンポーネントにコピーされます。

  4. [ServiceInstaller] コンポーネントをクリックし、ServiceName プロパティがサービス自体の ServiceName プロパティと同じ値に設定されているかどうかを確認します。

  5. サービスの起動方法を決定するには、[ServiceInstaller] コンポーネントをクリックし、StartType プロパティに適切な値を設定します。

    結果

    Manual

    インストール後に手動でサービスを起動する必要があります。 詳細については、「方法 : サービスを開始する」を参照してください。

    Automatic

    コンピューターを再起動すると、サービスが自動的に起動します。

    Disabled

    サービスは起動できません。

  6. サービスが実行されるセキュリティ コンテキストを決定するには、[ServiceProcessInstaller] コンポーネントをクリックし、適切なプロパティ値を設定します。 詳細については、「方法 : サービスのセキュリティ コンテキストを指定する」を参照してください。

  7. カスタム処理の実行が必要なメソッドをオーバーライドします。

  8. プロジェクトに作成するサービスごとに、手順 1 ~ 7 を実行します。

    注意

    プロジェクトに作成するすべてのサービスについて、ServiceInstaller コンポーネントをプロジェクトの ProjectInstaller クラスに追加する必要があります。 手順 3 で追加した ServiceProcessInstaller コンポーネントは、プロジェクトのすべてのサービス インストーラーに適用されます。

  9. セットアップ プロジェクトとカスタム アクションを作成し、サービスの配置とインストールを行います。 セットアップ プロジェクトの詳細については、「セットアップ/配置プロジェクト」を参照してください。 カスタム動作の詳細については、「チュートリアル : カスタム動作の作成」を参照してください。

参照

処理手順

方法: サービスをインストールおよびアンインストールする

方法 : サービスを開始する

方法 : サービスのセキュリティ コンテキストを指定する

概念

Windows サービス アプリケーションの概要