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

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

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