Installer::AfterRollback Event


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Occurs after the installations of all the installers in the Installers property are rolled back.

Namespace:   System.Configuration.Install
Assembly:  System.Configuration.Install (in System.Configuration.Install.dll)

event InstallEventHandler^ AfterRollback {
	void add(InstallEventHandler^ value);
	void remove(InstallEventHandler^ value);

The following example demonstrates the AfterRollback event. It overrides the Install method and explicitly throws an ArgumentException so that the Rollback method is called. When the Rollback is completed, the AfterRollback event occurs and a message is displayed.

#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.

ref class MyInstallerClass: public Installer

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


      // 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 " );

.NET Framework
Available since 1.1
Return to top