Installer.Uninstall メソッド

派生クラスによってオーバーライドされた場合、インストール内容を削除します。

Public Overridable Sub Uninstall( _
   ByVal savedState As IDictionary _)
[C#]
public virtual void Uninstall(IDictionarysavedState);
[C++]
public: virtual void Uninstall(IDictionary* savedState);
[JScript]
public function Uninstall(
   savedState : IDictionary);

パラメータ

  • savedState
    インストールが完了した後のコンピュータの状態を格納している IDictionary

例外

例外の種類 条件
ArgumentException 状態を保存している IDictionary が破損している可能性があります。
InstallException アンインストール中に例外が発生しました。この例外は無視され、アンインストールが続行されます。ただし、アンインストールが完了しても、アプリケーションが完全にはアンインストールされない可能性があります。

解説

継承時の注意: 派生クラスで Uninstall メソッドをオーバーライドする場合は、派生メソッド内で、まず基本クラスの Uninstall メソッドを呼び出してください。 Uninstall メソッドは、以前にインストールした内容を削除するために呼び出します。コレクション内の 1 つのインストーラのアンインストールが失敗しても、残りのインストーラのアンインストールが続行されます。アンインストール時にエラーが発生した場合、コンピュータの状態はアンインストール前の状態には戻りません。 Install メソッドおよび Commit メソッドはインストール後のコンピュータの状態を保存しますが、 savedState パラメータからの IDictionary を保持しているファイルが、インストール完了後のある時点で削除されている可能性があります。ファイルが削除されている場合、 savedState パラメータは null 参照 (Visual Basic では Nothing) です。 Uninstall メソッドで savedState パラメータが null 参照 (Nothing) の場合を処理できるようにしておく必要があります。

使用例

[Visual Basic, C#, C++] InstallerUninstall メソッドの例を次に示します。 Uninstall メソッドは、 Installer の派生クラスでオーバーライドされます。

 
' Override 'Uninstall' method of Installer class.
Public Overrides Sub Uninstall(mySavedState As IDictionary)
   If mySavedState Is Nothing Then
      Console.WriteLine("Uninstallation Error !")
   Else
      MyBase.Uninstall(mySavedState)
      Console.WriteLine("The Uninstall method of 'MyInstallerSample' has been called")
   End If
End Sub 'Uninstall

[C#] 
// Override 'Uninstall' method of Installer class.
public override void Uninstall( IDictionary mySavedState )
{  
   if (mySavedState == null)
   {
      Console.WriteLine("Uninstallation Error !");
   }
   else
   {
      base.Uninstall( mySavedState );
      Console.WriteLine( "The Uninstall method of 'MyInstallerSample' has been called" );
   }
}

[C++] 
// Override 'Uninstall' method of Installer class.
void Uninstall(IDictionary* mySavedState) {
    if (mySavedState == 0) {
        Console::WriteLine(S"Uninstallation Error !");
    } else {
        Installer::Uninstall(mySavedState);
        Console::WriteLine(S"The Uninstall method of 'MyInstallerSample' has been called");
    }
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

.NET Framework セキュリティ:

参照

Installer クラス | Installer メンバ | System.Configuration.Install 名前空間 | Install | Commit | Rollback | InstallerCollection | Installers