ServiceInstaller.Install(IDictionary) ServiceInstaller.Install(IDictionary) ServiceInstaller.Install(IDictionary) ServiceInstaller.Install(IDictionary) Method


サービス アプリケーション情報をレジストリに書き込んで、サービスをインストールします。Installs the service by writing service application information to the registry. このメソッドは、セットアップ ツールで使用されます。セットアップ ツールは適切なメソッドを自動的に処理します。This method is meant to be used by installation tools, which process the appropriate methods automatically.

 override void Install(System::Collections::IDictionary ^ stateSaver);
public override void Install (System.Collections.IDictionary stateSaver);
override this.Install : System.Collections.IDictionary -> unit
Public Overrides Sub Install (stateSaver As IDictionary)


IDictionary IDictionary IDictionary IDictionary

インストールに関連付けられているコンテキスト情報を格納する IDictionaryAn IDictionary that contains the context information associated with the installation.


セットアップ ツールに、実行可能ファイルの ServiceProcessInstaller が含まれていません。The installation does not contain a ServiceProcessInstaller for the executable.

または-or- アセンブリのファイル名が null または空の文字列です。The file name for the assembly is null or an empty string.

または-or- サービス名が無効です。The service name is invalid.

または-or- サービス コントロール マネージャーを開くことができませんでした。The Service Control Manager could not be opened.

サービスの表示名の長さが 255 文字を超えています。The display name for the service is more than 255 characters in length.

サービスへのハンドルが生成できませんでした。The system could not generate a handle to the service.

または-or- この名前のサービスは既にインストールされています。A service with that name is already installed.


通常がないメソッドを呼び出す、ServiceInstallerは、コード内で一般的に呼び出される、インストール ユーティリティでのみです。Normally, you will not call the methods on ServiceInstaller within your code; they are generally called only by the install utility. インストール ユーティリティが自動的に呼び出し、Installインストール中にメソッド。The install utility automatically calls the Install method during installation. バックアップ実行の障害を必要に応じて、呼び出すことによってRollback例外を生成するオブジェクト。It backs out failures, if necessary, by calling Rollback on the object that generated the exception.

アプリケーションのインストールは既にインストールされて、プロジェクトのインストーラーを使用するコンポーネントを自動的に情報を格納Installer.Contextします。An application's install routine maintains information automatically about the components that were already installed, using the project installer's Installer.Context. この状態情報が渡されるInstallとして、stateSaverパラメーターは継続的に更新、ServiceProcessInstallerインスタンスと各ServiceInstallerユーティリティによってインスタンスがインストールされています。This state information, passed into Install as the stateSaver parameter, is continuously updated as the ServiceProcessInstaller instance and each ServiceInstaller instance is installed by the utility. この状態情報を明示的に変更するコードを通常必要はありません。It is usually unnecessary for your code to modify this state information explicitly.

ServiceProcessInstaller情報に関連付けられた、プロジェクトのインストール クラス インストールすべてに共通するServiceInstallerプロジェクト内のインスタンス。The ServiceProcessInstaller associated with your project installation class installs information common to all ServiceInstaller instances in the project. このサービスが何もインストール プロジェクトの他のサービスから分離する場合、そのサービスに固有の情報は、このメソッドによってインストールされます。If this service has anything that separates it from the other services in the installation project, that service-specific information is installed by this method.

継承されるプロジェクト インストーラー クラスを作成、サービスをインストールする、Installerクラスし、設定、RunInstallerAttribute属性をクラスtrueします。To install a service, create a project installer class that inherits from the Installer class, and set the RunInstallerAttribute attribute on the class to true. プロジェクト内で 1 つ作成ServiceProcessInstallerサービス アプリケーション、および 1 つごとにインスタンスServiceInstallerアプリケーション内の各サービスのインスタンス。Within your project, create one ServiceProcessInstaller instance per service application, and one ServiceInstaller instance for each service in the application. クラスのコンス トラクター、プロジェクト インストーラー内でサービスを使用して、インストールのプロパティを設定、ServiceProcessInstallerServiceInstallerインスタンス、およびインスタンスの追加、Installersコレクション。Within your project installer class constructor, set the installation properties for the service using the ServiceProcessInstaller and ServiceInstaller instances, and add the instances to the Installers collection.


インストーラーのインスタンスを追加するため、コンス トラクターを使用することをお勧めただしに追加する必要がある場合、Installers内のコレクション、Installメソッドで、コレクションに同じ追加機能を実行してください、Uninstallメソッド。It is recommended that you use the constructor for adding installer instances; however, if you need to add to the Installers collection in the Install method, be sure to perform the same additions to the collection in the Uninstall method.

すべてのクラスから派生する、Installerクラスの状態、Installersコレクションが同じである必要があります、InstallUninstallメソッド。For all classes deriving from the Installer class, the state of the Installers collection must be the same in the Install and Uninstall methods. ただし、全体でコレクションのメンテナンスを回避できます、InstallUninstallメソッドにインストーラーのインスタンスを追加する場合、Installersカスタム インストーラー クラスのコンス トラクター内のコレクション。However, you can avoid the maintenance of the collection across the Install and Uninstall methods if you add installer instances to the Installers collection in your custom installer class constructor.