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 в коллекцию в конструкторе классов для настраиваемого установщика.

Применяется к

См. также раздел