Installer.Uninstall(IDictionary) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
When overridden in a derived class, removes an installation.
public:
virtual void Uninstall(System::Collections::IDictionary ^ savedState);
public virtual void Uninstall (System.Collections.IDictionary savedState);
abstract member Uninstall : System.Collections.IDictionary -> unit
override this.Uninstall : System.Collections.IDictionary -> unit
Public Overridable Sub Uninstall (savedState As IDictionary)
Parameters
- savedState
- IDictionary
An IDictionary that contains the state of the computer after the installation was complete.
Exceptions
The saved-state IDictionary might have been corrupted.
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.
Examples
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:
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" );
}
}
// 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
Notes to Inheritors
If you override the Install(IDictionary) method in a derived class, be sure to call the base class's Install(IDictionary) method first in your derived method. The Install(IDictionary) method calls the Install(IDictionary) method of each installer contained in the Installers 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(IDictionary) method. If all the Install(IDictionary) methods succeed, the Commit(IDictionary) method is called. Otherwise, the Rollback(IDictionary) method is called.If you need to add installer instances to the Installers collection in the Install(IDictionary) method, be sure to perform the same additions to the collection in the Uninstall(IDictionary) method. However, you can avoid maintaining the collection in both methods if you add installer instances to the Installers collection in the class constructor for your custom installer.