ServiceInstaller.Install(IDictionary) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
サービス アプリケーション情報をレジストリに書き込んで、サービスをインストールします。 このメソッドは、セットアップ ツールで使用されます。セットアップ ツールは適切なメソッドを自動的に処理します。
public:
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)
パラメーター
- stateSaver
- IDictionary
インストールに関連付けられているコンテキスト情報を格納する IDictionary。
例外
セットアップ ツールに、実行可能ファイルの ServiceProcessInstaller が含まれていません。
- または -
アセンブリのファイル名が null
または空の文字列です。
- または -
サービス名が無効です。
- または -
サービス コントロール マネージャーを開くことができませんでした。
サービスの表示名の長さが 255 文字を超えています。
注釈
通常、コード内で メソッド ServiceInstaller を呼び出すわけではありません。通常、これらはインストール ユーティリティによってのみ呼び出されます。 インストール ユーティリティは、インストール時に メソッドを Install 自動的に呼び出します。 例外を生成した オブジェクトに対して を呼び出 Rollback すことで、必要に応じてエラーをバックアウトします。
アプリケーションのインストール ルーチンでは、プロジェクト インストーラー Installer.Contextの を使用して、既にインストールされているコンポーネントに関する情報が自動的に保持されます。 パラメーターとして渡Installされたこの状態情報は、インスタンスとしてstateSaver
ServiceProcessInstaller継続的に更新され、各ServiceInstallerインスタンスはユーティリティによってインストールされます。 通常、コードでこの状態情報を明示的に変更する必要があります。
プロジェクト インストール クラスに関連付けられている には ServiceProcessInstaller 、プロジェクト内のすべての ServiceInstaller インスタンスに共通する情報がインストールされます。 このサービスにインストール プロジェクト内の他のサービスとは別のサービスがある場合、そのサービス固有の情報はこのメソッドによってインストールされます。
サービスをインストールするには、 クラスから継承するプロジェクト インストーラー クラスを Installer 作成し、 クラスの 属性を RunInstallerAttribute に true
設定します。 プロジェクト内で、サービス アプリケーションごとに 1 つの ServiceProcessInstaller インスタンスを作成し、アプリケーション内のサービスごとに 1 つの ServiceInstaller インスタンスを作成します。 プロジェクト インストーラー クラス コンストラクター内で、 インスタンスと ServiceInstaller インスタンスを使用してサービスのインストール プロパティをServiceProcessInstaller設定し、インスタンスをコレクションにInstallers追加します。
注意
インストーラー インスタンスを追加する場合は、 コンストラクターを使用することをお勧めします。ただし、 メソッドの コレクションに を追加する Installers 必要がある場合は、 メソッド内 Install のコレクション Uninstall に対して同じ追加を実行してください。
クラスからInstaller派生するすべてのクラスについて、コレクションの状態は Installers メソッドと Uninstall メソッドでInstall同じである必要があります。 ただし、カスタム インストーラー クラス コンストラクターのコレクションにインストーラー インスタンスを追加すると、 メソッドと Uninstall メソッド全体InstallでコレクションのInstallersメンテナンスを回避できます。
適用対象
こちらもご覧ください
.NET