Compartir a través de


Installer.AfterRollback Evento

Definición

Se produce después de deshacerse la instalación de todos los instaladores de la propiedad Installers.

public:
 event System::Configuration::Install::InstallEventHandler ^ AfterRollback;
public event System.Configuration.Install.InstallEventHandler AfterRollback;
member this.AfterRollback : System.Configuration.Install.InstallEventHandler 
Public Custom Event AfterRollback As InstallEventHandler 

Tipo de evento

Ejemplos

En el ejemplo siguiente se muestra el AfterRollback evento . Invalida el Install método y genera explícitamente un para ArgumentException que se llame al Rollback método . Rollback Cuando se completa, se produce el AfterRollback evento y se muestra un mensaje.

#using <System.dll>
#using <System.Configuration.Install.dll>

using namespace System;
using namespace System::Collections;
using namespace System::ComponentModel;
using namespace System::Configuration::Install;

// Set 'RunInstaller' attribute to true.

[RunInstaller(true)]
ref class MyInstallerClass: public Installer
{
private:

   // Event handler for 'AfterRollback' event.
   void MyInstaller_AfterRollBack( Object^ sender, InstallEventArgs^ e )
   {
      Console::WriteLine( "AfterRollBack Event occurred." );
   }


public:
   MyInstallerClass()
   {
      
      // Attach the 'AfterRollback' event.
      this->AfterRollback += gcnew InstallEventHandler( this, &MyInstallerClass::MyInstaller_AfterRollBack );
   }


   // Override the 'Install' method.
   virtual void Install( IDictionary^ savedState ) override
   {
      Installer::Install( savedState );
      
      // Explicitly throw an exception so that roll back is called.
      throw gcnew ArgumentException( "Arg Exception" );
   }


   // Override the 'Commit' method.
   virtual void Commit( IDictionary^ savedState ) override
   {
      Installer::Commit( savedState );
   }


   // Override the 'Rollback' method.
   virtual void Rollback( IDictionary^ savedState ) override
   {
      Installer::Rollback( savedState );
   }

};

int main()
{
   Console::WriteLine( "Usage : installutil.exe Installer_AfterRollback.exe " );
}
using System;
using System.Collections;
using System.ComponentModel;
using System.Configuration.Install;

// Set 'RunInstaller' attribute to true.
[RunInstaller(true)]
public class MyInstallerClass: Installer
{

   public MyInstallerClass() :base()
   {
      // Attach the 'AfterRollback' event.
      this.AfterRollback += new InstallEventHandler(MyInstaller_AfterRollBack);
   }
   // Event handler for 'AfterRollback' event.
   private void MyInstaller_AfterRollBack(object sender, InstallEventArgs e)
   {
      Console.WriteLine("AfterRollBack Event occurred.");
   }

   // Override the 'Install' method.
   public override void Install(IDictionary savedState)
   {
      base.Install(savedState);
      // Explicitly throw an exception so that roll back is called.
      throw new ArgumentException("Arg Exception");
   }
   // Override the 'Commit' method.
   public override void Commit(IDictionary savedState)
   {
      base.Commit(savedState);
   }
   // Override the 'Rollback' method.
   public override void Rollback(IDictionary savedState)
   {
      base.Rollback(savedState);
   }
   public static void Main()
   {
      Console.WriteLine("Usage : installutil.exe Installer_AfterRollback.exe ");
   }
}
Imports System.Collections
Imports System.ComponentModel
Imports System.Configuration.Install

' Set 'RunInstaller' attribute to true.
<RunInstaller(True)>  _
Public Class MyInstallerClass
   Inherits Installer

   Public Sub New()
       MyBase.New() 
      ' Attach the 'AfterRollback' event.
      AddHandler Me.AfterRollback, AddressOf MyInstaller_AfterRollBack
   End Sub

   ' Event handler for 'AfterRollback' event.
   Private Sub MyInstaller_AfterRollBack(sender As Object, e As InstallEventArgs)
      Console.WriteLine("")
      Console.WriteLine("AfterRollBack Event occurred.")
      Console.WriteLine("")
   End Sub

   ' Override the 'Install' method.
   Public Overrides Sub Install(savedState As IDictionary)
      MyBase.Install(savedState)
      ' Explicitly throw an exception so that roll back is called.
      Throw New ArgumentException("Arg Exception")
   End Sub

   ' Override the 'Commit' method.
   Public Overrides Sub Commit(savedState As IDictionary)
      MyBase.Commit(savedState)
   End Sub

   ' Override the 'Rollback' method.
   Public Overrides Sub Rollback(savedState As IDictionary)
      MyBase.Rollback(savedState)
   End Sub

   Public Shared Sub Main()
      Console.WriteLine("Usage : installutil.exe Installer_AfterRollback.exe ")
   End Sub

End Class

Se aplica a

Consulte también