Installer.Uninstall(IDictionary) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Po przesłonięciu w klasie pochodnej program usuwa instalację.
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)
Parametry
- savedState
- IDictionary
Element IDictionary zawierający stan komputera po zakończeniu instalacji.
Wyjątki
Zapisany stan IDictionary mógł zostać uszkodzony.
Wystąpił wyjątek podczas odinstalowywania. Ten wyjątek jest ignorowany, a dezinstalacja jest kontynuowana. Jednak po zakończeniu odinstalowywania aplikacja może nie zostać w pełni odinstalowana.
Przykłady
W poniższym przykładzie pokazano metodę Uninstall .Installer Metoda Uninstall jest zastępowana w klasie pochodnej klasy 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
Uwagi dotyczące dziedziczenia
Jeśli zastąpisz metodę Install(IDictionary) w klasie pochodnej, najpierw wywołaj metodę klasy Install(IDictionary) bazowej w metodzie pochodnej. Metoda Install(IDictionary) wywołuje metodę Install(IDictionary) każdego instalatora zawartego Installers we właściwości tego wystąpienia. Po uruchomieniu zawartych instalatorów ta metoda aktualizuje IDictionary obiekt (określony za pośrednictwem parametru
stateSaver
), aby odzwierciedlić stan instalacji. Element IDictionary powinien być pusty po przekazaniu do Install(IDictionary) metody . Jeśli wszystkie Install(IDictionary) metody zostaną wykonane pomyślnie, zostanie wywołana Commit(IDictionary) metoda . W przeciwnym razie wywoływana Rollback(IDictionary) jest metoda .Jeśli musisz dodać wystąpienia instalatora do Installers kolekcji w metodzie Install(IDictionary) , należy wykonać te same dodatki do kolekcji w metodzie Uninstall(IDictionary) . Można jednak uniknąć konserwacji kolekcji w obu metodach, jeśli dodasz wystąpienia instalatora do Installers kolekcji w konstruktorze klasy dla instalatora niestandardowego.