Freigeben über


Installer.AfterRollback-Ereignis

Tritt ein, nachdem ein Rollback aller Installationen der Installationsprogramme in der Installers-Eigenschaft ausgeführt wurde.

Namespace: System.Configuration.Install
Assembly: System.Configuration.Install (in system.configuration.install.dll)

Syntax

'Declaration
Public Event AfterRollback As InstallEventHandler
'Usage
Dim instance As Installer
Dim handler As InstallEventHandler

AddHandler instance.AfterRollback, handler
public event InstallEventHandler AfterRollback
public:
event InstallEventHandler^ AfterRollback {
    void add (InstallEventHandler^ value);
    void remove (InstallEventHandler^ value);
}
/** @event */
public void add_AfterRollback (InstallEventHandler value)

/** @event */
public void remove_AfterRollback (InstallEventHandler value)
JScript unterstützt die Verwendung von Ereignissen, aber nicht die Deklaration von neuen Ereignissen.

Beispiel

Das folgende Beispiel veranschaulicht das AfterRollback-Ereignis. Dabei wird die Install-Methode überschrieben, und es wird explizit eine ArgumentException ausgelöst, sodass die Rollback-Methode aufgerufen wird. Nach Beendigung von Rollback tritt das AfterRollback-Ereignis ein, und es wird eine Meldung angezeigt.

Imports System
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 'New

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

   ' 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 'Install

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

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

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

End Class 'MyInstallerClass
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 occured.");
   }

   // 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 ");
   }
}
#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 occured." );
   }


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 " );
}
import System.*;
import System.Collections.*;
import System.ComponentModel.*;
import System.Configuration.Install.*;

// Set 'RunInstaller' attribute to true.
/** @attribute RunInstaller(true)
 */
public class MyInstallerClass extends Installer
{
    public MyInstallerClass()
    {
        // Attach the 'AfterRollback' event.
        this.add_AfterRollback(
            new InstallEventHandler(MyInstaller_AfterRollBack));
    } //MyInstallerClass

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

    // Override the 'Install' method.
    public void Install(IDictionary savedState)
    {
        super.Install(savedState);

        // Explicitly throw an exception so that roll back is called.
        throw new ArgumentException("Arg Exception");
    } //Install

    // Override the 'Commit' method.
    public void Commit(IDictionary savedState)
    {
        super.Commit(savedState);
    } //Commit

    // Override the 'Rollback' method.
    public void Rollback(IDictionary savedState)
    {
        super.Rollback(savedState);
    } //Rollback

    public static void main(String[] args)
    {
        Console.WriteLine("Usage : installutil.exe"
            +" Installer_AfterRollback.exe ");
    } //main
} //MyInstallerClass

.NET Framework-Sicherheit

  • Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter .

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

Installer-Klasse
Installer-Member
System.Configuration.Install-Namespace
BeforeRollback
OnAfterRollback
OnBeforeRollback