Installer::AfterRollback Event

 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com 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)

public:
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.

[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 " );
}

.NET Framework
Available since 1.1
Return to top
Show: