Visual Studio .NET には、サービス アプリケーションと関連付けられたリソースをインストールする、インストール コンポーネントが組み込まれています。インストール コンポーネントは、サービスをインストール先システムに登録し、サービス コントロール マネージャにサービスの存在を知らせます。サービス アプリケーションを作成するときに、[プロパティ] ウィンドウでリンクを選択して、適切なインストーラをプロジェクトに自動的に追加できます。インストール コンポーネントとその動作の詳細については、「インストール コンポーネントの概要」を参照してください。
メモ サービスのプロパティ値は、サービス クラスからインストーラ クラスにコピーされます。サービス クラスのプロパティ値を更新しても、インストーラのプロパティ値は更新されません。
インストーラをプロジェクトに追加すると、新しいクラス (既定の名前は ProjectInstaller) がプロジェクトに作成され、そのクラス内にインストール コンポーネントのインスタンスが作成されます。このクラスは、プロジェクトで必要なすべてのインストール コンポーネントの核になります。たとえば、2 番目のサービスをアプリケーションに追加し、[インストーラの追加] リンクをクリックしても、2 番目のインストーラ クラスは作成されません。代わりに、2 番目のサービスに必要な追加のインストール コンポーネントが、既存のクラスに追加されます。
サービスを正しくインストールするために、特別なコードをインストーラに追加する必要はありません。ただし、インストール プロセスに特殊な機能を追加する場合は、インストーラの変更が必要になることもあります。詳細については、「インストール コンポーネントの設定」を参照してください。
アプリケーションにインストーラを追加した後、次の手順として、コンパイルされたプロジェクト ファイルをインストールし、サービスのインストールに必要なインストーラを実行するセットアップ プログラムを作成します。完全なセットアップ プロジェクトを作成するには、サービス プロジェクトの出力をセットアップ プロジェクトに追加し、サービスをインストールするカスタム処理を追加する必要があります。セットアップ プロジェクトの詳細については、「セットアップ プロジェクト」を参照してください。カスタム処理の詳細については、「チュートリアル : 動作の作成」を参照してください。
サービス アプリケーションにインストーラを追加するには
- ソリューション エクスプローラで、インストール コンポーネントを追加するサービスをデザイン ビューに表示します。
- デザイナの画面の任意の位置をクリックします。
- [プロパティ] ウィンドウの説明文の領域の上で、[インストーラの追加] リンクをクリックします。
新しいクラスの ProjectInstaller、および ServiceProcessInstaller と ServiceInstaller の 2 つのインストール コンポーネントが、プロジェクトに追加されます。また、サービスのプロパティ値がこれらのコンポーネントにコピーされます。
- [ServiceInstaller] コンポーネントをクリックし、ServiceName プロパティがサービス自体の ServiceName プロパティと同じ値に設定されているかどうかを確認します。
- サービスの起動方法を決定するには、[ServiceInstaller] コンポーネントをクリックし、StartType プロパティに適切な値を設定します。
| 値 | 結果 |
| Manual | インストール後に手動でサービスを起動する必要があります。詳細については、「サービスの起動」を参照してください。 |
| Automatic | コンピュータを再起動すると、サービスが自動的に起動します。 |
| Disabled | サービスは起動できません。 |
- サービスが実行されるセキュリティ コンテキストを決定するには、[ServiceProcessInstaller] コンポーネントをクリックし、適切なプロパティ値を設定します。詳細については、「サービスのセキュリティ コンテキストの指定」を参照してください。
- カスタム処理の実行が必要なメソッドをオーバーライドします。詳細については、「インストール コンポーネントの既定のメソッドのオーバーライド」を参照してください。
- プロジェクトに作成するサービスごとに、手順 1 ~ 6 を実行します。
メモ プロジェクトに作成するすべてのサービスについて、ServiceInstaller コンポーネントをプロジェクトの ProjectInstaller クラスに追加する必要があります。手順 3 で追加した ServiceProcessInstaller コンポーネントは、プロジェクトのすべてのサービス インストーラに適用されます。
- セットアップ プロジェクトとカスタム アクションを作成し、サービスの配置とインストールを行います。セットアップ プロジェクトの詳細については、「セットアップ プロジェクト」を参照してください。カスタム処理の詳細については、「チュートリアル : 動作の作成」を参照してください。
参照
Windows サービス アプリケーションの概要 | サービスのインストールとアンインストール | サービスの起動 | サービスのセキュリティ コンテキストの指定 | インストール コンポーネントの概要 | インストール コンポーネントの設定 | インストール コンポーネントの既定のメソッドのオーバーライド