InstallerUninstall Method
 

When overridden in a derived class, removes an installation.

Namespace:   System.Configuration.Install
Assembly:  System.Configuration.Install (in System.Configuration.Install.dll)

public virtual void Uninstall(
	IDictionary savedState
)
public:
virtual void Uninstall(
	IDictionary^ savedState
)
abstract Uninstall : 
        savedState:IDictionary -> unit
override Uninstall : 
        savedState:IDictionary -> unit
Public Overridable Sub Uninstall (
	savedState As IDictionary
)

Parameters

savedState
Type:

An IDictionary that contains the state of the computer after the installation was complete.

Exception Condition
ArgumentException

The saved-state IDictionary might have been corrupted.

InstallException

An exception occurred while uninstalling. This exception is ignored and the uninstall continues. However, the application might not be fully uninstalled after the uninstallation completes.

Notes to Inheritors:

  • If you override the Install method in a derived class, be sure to call the base class's Install method first in your derived method. The Install method calls the Install method of each installer contained in the property of this instance. After the contained installers run, this method updates the IDictionary object (specified through the stateSaver parameter) to reflect the status of the installation. The IDictionary should be empty when passed to the Install method. If all the Install methods succeed, the Commit method is called. Otherwise, the Rollback method is called.

  • If you need to add installer instances to the collection in the Install method, be sure to perform the same additions to the collection in the Uninstall method. However, you can avoid maintaining the collection in both methods if you add installer instances to the collection in the class constructor for your custom installer.

The following example demonstrates the Uninstall method of Installer. The Uninstall method is overridden in the derived class of Installer.

// 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" );
   }
}
' 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
   // Override 'Uninstall' method of Installer class.
public:
   virtual void Uninstall( IDictionary^ mySavedState ) override
   {
      if ( mySavedState == nullptr )
      {
         Console::WriteLine( "Uninstallation Error !" );
      }
      else
      {
         Installer::Uninstall( mySavedState );
         Console::WriteLine( "The Uninstall method of 'MyInstallerSample' has been called" );
      }
   }
.NET Framework
Available since 1.1
Return to top