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この状態情報は、インスタンスとしてsavedStateServiceProcessInstaller継続的に更新され、各ServiceInstallerインスタンスはユーティリティによってインストールされます。 通常、コードでこの状態情報を明示的に変更する必要があります。

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

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

適用対象

こちらもご覧ください