ServiceInstaller.Uninstall(IDictionary) メソッド

定義

レジストリからサービスに関する情報を削除して、サービスをアンインストールします。

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

パラメーター

savedState
IDictionary

インストールに関連付けられているコンテキスト情報を含む IDictionary

例外

サービス コントロール マネージャーを開くことができませんでした。

-又は-

システムがサービスへのハンドルを取得できませんでした。

注釈

アンインストールする前に、最初にサービスの停止を試みます。 サービスを停止できない場合、例外はキャッチされません。メソッドはサービスの削除を続行します。

通常、コード内の ServiceInstaller でメソッドを呼び出すわけではありません。通常、これらはインストール ユーティリティによってのみ呼び出されます。 InstallUtil は、サービスをアンインストールしたり、サービスをインストールしたりするために使用されます。アンインストールすると、コマンド ライン呼び出しでスイッチが実行されます。

アプリケーションのアンインストール ルーチンは、プロジェクト インストーラーの Installer.Contextを使用して、アンインストールされるコンポーネントに関する情報を自動的に保持します。 この状態情報は、Uninstall パラメーターとしてsavedStateに渡され、ServiceProcessInstaller インスタンスとして継続的に更新され、各ServiceInstaller インスタンスがユーティリティによってインストールされます。 通常、コードでこの状態情報を明示的に変更する必要があります。

Installer クラスから派生するすべてのクラスについて、Installers コレクションの状態は、Installメソッドと Uninstall メソッドで同じである必要があります。 ただし、カスタム インストーラー クラス コンストラクターのInstall コレクションにインストーラー インスタンスを追加すると、UninstallメソッドとInstallers メソッド全体でコレクションのメンテナンスを回避できます。

アンインストールのロールバック メカニズムがないため、1 つのサービスのアンインストールに失敗しても、アンインストールされる他のサービス (通常は同じインストール プロジェクト内) には影響しません。

適用対象

こちらもご覧ください