Installer.Uninstall(IDictionary) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Quando substituído em uma classe derivada, remove uma instalação.
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)
Parâmetros
- savedState
- IDictionary
Um IDictionary que contém o estado do computador após a conclusão da instalação.
Exceções
O IDictionary de estado salvo pode estar corrompido.
Ocorreu uma exceção durante a desinstalação. Essa exceção é ignorada e a desinstalação continua. No entanto, o aplicativo pode não estar totalmente desinstalado após a conclusão da desinstalação.
Exemplos
O exemplo a seguir demonstra o Uninstall método de Installer. O Uninstall método é substituído na classe derivada de 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
Notas aos Herdeiros
Se você substituir o Install(IDictionary) método em uma classe derivada, chame o método da Install(IDictionary) classe base primeiro em seu método derivado. O Install(IDictionary) método chama o Install(IDictionary) método de cada instalador contido na Installers propriedade dessa instância. Depois que os instaladores contidos são executados, esse método atualiza o IDictionary objeto (especificado por meio do
stateSaver
parâmetro) para refletir o status da instalação. O IDictionary deve estar vazio quando passado para o Install(IDictionary) método . Se todos os Install(IDictionary) métodos forem bem-sucedidos, o Commit(IDictionary) método será chamado. Caso contrário, o Rollback(IDictionary) método será chamado.Se você precisar adicionar instâncias do instalador à Installers coleção no Install(IDictionary) método , execute as mesmas adições à coleção no Uninstall(IDictionary) método . No entanto, você poderá evitar manter a coleção em ambos os métodos se adicionar instâncias do instalador à Installers coleção no construtor de classe do instalador personalizado.