Installer.BeforeRollback Kejadian
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Terjadi sebelum alat penginstal di Installers properti digulung balik.
public:
event System::Configuration::Install::InstallEventHandler ^ BeforeRollback;
public event System.Configuration.Install.InstallEventHandler BeforeRollback;
member this.BeforeRollback : System.Configuration.Install.InstallEventHandler
Public Custom Event BeforeRollback As InstallEventHandler
Jenis Acara
Contoh
Contoh berikut menunjukkan BeforeRollback peristiwa. Ini mengambil alih Install metode dan secara eksplisit melemparkan ArgumentException sehingga metode dipanggil Rollback . Rollback Setelah selesai, BeforeRollback peristiwa terjadi dan pesan ditampilkan.
#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 occurred." );
Console::WriteLine( "" );
}
// Event handler for 'AfterRollback' event.
void MyInstaller_AfterRollback( Object^ sender, InstallEventArgs^ e )
{
Console::WriteLine( "" );
Console::WriteLine( "AfterRollback Event occurred." );
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 " );
}
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 'BeforeRollback' event.
this.BeforeRollback += new InstallEventHandler(MyInstaller_BeforeRollBack);
// Attach the 'AfterRollback' event.
this.AfterRollback += new InstallEventHandler(MyInstaller_AfterRollback);
}
// Event handler for 'BeforeRollback' event.
private void MyInstaller_BeforeRollBack(object sender, InstallEventArgs e)
{
Console.WriteLine("");
Console.WriteLine("BeforeRollback Event occurred.");
Console.WriteLine("");
}
// Event handler for 'AfterRollback' event.
private void MyInstaller_AfterRollback(object sender, InstallEventArgs e)
{
Console.WriteLine("");
Console.WriteLine("AfterRollback Event occurred.");
Console.WriteLine("");
}
// 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_BeforeRollback.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 'BeforeRollback' event.
AddHandler Me.BeforeRollback, AddressOf MyInstaller_BeforeRollBack
' Attach the 'AfterRollback' event.
AddHandler Me.AfterRollback, AddressOf MyInstaller_AfterRollback
End Sub
' Event handler for 'BeforeRollback' event.
Private Sub MyInstaller_BeforeRollBack(sender As Object, e As InstallEventArgs)
Console.WriteLine("")
Console.WriteLine("BeforeRollback Event occurred.")
Console.WriteLine("")
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_BeforeRollback.exe ")
End Sub
End Class
Berlaku untuk
Lihat juga
Berkolaborasi dengan kami di GitHub
Sumber untuk konten ini dapat ditemukan di GitHub, yang juga dapat Anda gunakan untuk membuat dan meninjau masalah dan menarik permintaan. Untuk informasi selengkapnya, lihat panduan kontributor kami.