次の方法で共有


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

更新 : 2007 年 11 月

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

ddhy0byf.alert_note(ja-jp,VS.90).gifメモ :

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

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

サービスを正しくインストールするために、特別なコードをインストーラに追加する必要はありません。ただし、インストール プロセスに特殊な機能を追加する場合は、インストーラの変更が必要になることもあります。詳細については、「方法 : インストール コンポーネントを設定する」を参照してください。

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

ddhy0byf.alert_note(ja-jp,VS.90).gifメモ :

使用している設定またはエディションによっては、表示されるダイアログ ボックスやメニュー コマンドがヘルプに記載されている内容と異なる場合があります。設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。詳細については、「Visual Studio の設定」を参照してください。

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

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

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

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

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

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

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

    結果

    Manual

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

    Automatic

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

    Disabled

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

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

  7. カスタム処理の実行が必要なメソッドをオーバーライドします。詳細については、「方法 : インストール コンポーネントの既定のメソッドをオーバーライドする」を参照してください。

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

    ddhy0byf.alert_note(ja-jp,VS.90).gifメモ :

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

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

参照

処理手順

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

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

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

方法 : インストール コンポーネントを設定する

方法 : インストール コンポーネントの既定のメソッドをオーバーライドする

概念

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

インストール コンポーネントの概要