Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Evento Installer::BeforeRollback

 

Publicado: octubre de 2016

Se produce antes de deshacerse los instaladores de la propiedad Installers.

Espacio de nombres:   System.Configuration.Install
Ensamblado:  System.Configuration.Install (en System.Configuration.Install.dll)

public:
event InstallEventHandler^ BeforeRollback {
	void add(InstallEventHandler^ value);
	void remove(InstallEventHandler^ value);
}

The following example demonstrates the E:System.Configuration.Install.Installer.BeforeRollback event. It overrides the M:System.Configuration.Install.Installer.Install(System.Collections.IDictionary) method and explicitly throws an T:System.ArgumentException so that the M:System.Configuration.Install.Installer.Rollback(System.Collections.IDictionary) method is called. When the M:System.Configuration.Install.Installer.Rollback(System.Collections.IDictionary) is complete, the E:System.Configuration.Install.Installer.BeforeRollback 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
{
public:
   MyInstallerClass()
   {

      // Attach the 'BeforeRollback' event.
      this->BeforeRollback += gcnew InstallEventHandler( this, &MyInstallerClass::MyInstaller_BeforeRollBack );

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


private:

   // Event handler for 'BeforeRollback' event.
   void MyInstaller_BeforeRollBack( Object^ sender, InstallEventArgs^ e )
   {
      Console::WriteLine( "" );
      Console::WriteLine( "BeforeRollback Event occured." );
      Console::WriteLine( "" );
   }


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


public:

   // 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_BeforeRollback.exe " );
}

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar: