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