Installer.Uninstall(IDictionary) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
При переопределении в производном классе удаляет установку.
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)
Параметры
- savedState
- IDictionary
Значение IDictionary , содержащее состояние компьютера после завершения установки.
Исключения
Возможно, сохраненное состояние IDictionary повреждено.
При удалении произошло исключение. Это исключение игнорируется, и удаление продолжается. Однако приложение может быть не полностью удалено после завершения удаления.
Примеры
В следующем примере показан Uninstall метод Installer. Метод Uninstall переопределяется в производном классе 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
Примечания для тех, кто наследует этот метод
При переопределении Install(IDictionary) метода в производном классе обязательно вызовите метод базового класса Install(IDictionary) в производном методе. Метод Install(IDictionary) вызывает Install(IDictionary) метод каждого установщика, содержащегося в свойстве Installers этого экземпляра. После запуска автономных установщиков этот метод обновляет IDictionary объект (указанный с помощью
stateSaverпараметра), чтобы отразить состояние установки. Значение IDictionary должно быть пустым при передаче в Install(IDictionary) метод. Если все Install(IDictionary) методы выполнены успешно, Commit(IDictionary) вызывается метод. Rollback(IDictionary) В противном случае вызывается метод.Если необходимо добавить экземпляры установщика в Installers коллекцию в Install(IDictionary) методе, обязательно выполните те же дополнения к коллекции в методе Uninstall(IDictionary) . Однако вы можете избежать сохранения коллекции в обоих методах, если добавить экземпляры установщика Installers в коллекцию в конструкторе классов для пользовательского установщика.