Installer.BeforeRollback イベント
アセンブリ: System.Configuration.Install (system.configuration.install.dll 内)
構文
Dim instance As Installer Dim handler As InstallEventHandler AddHandler instance.BeforeRollback, handler
public: event InstallEventHandler^ BeforeRollback { void add (InstallEventHandler^ value); void remove (InstallEventHandler^ value); }
BeforeRollback イベントの例を次に示します。この例は、Install メソッドをオーバーライドし、Rollback メソッドが呼び出されるように、明示的に ArgumentException をスローします。Rollback が完了すると、BeforeRollback イベントが発生し、メッセージが表示されます。
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 'BeforeRollback' event. AddHandler Me.BeforeRollback, AddressOf MyInstaller_BeforeRollBack ' Attach the 'AfterRollback' event. AddHandler Me.AfterRollback, AddressOf MyInstaller_AfterRollback End Sub 'New ' Event handler for 'BeforeRollback' event. Private Sub MyInstaller_BeforeRollBack(sender As Object, e As InstallEventArgs) Console.WriteLine("") Console.WriteLine("BeforeRollback Event occured.") Console.WriteLine("") End Sub 'MyInstaller_BeforeRollBack ' 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_BeforeRollback.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 '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 occured."); Console.WriteLine(""); } // Event handler for 'AfterRollback' event. private void MyInstaller_AfterRollback(object sender, InstallEventArgs e) { Console.WriteLine(""); Console.WriteLine("AfterRollback Event occured."); 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 "); } }
#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 " ); }
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 'BeforeRollback' event. this.add_BeforeRollback( new InstallEventHandler(MyInstaller_BeforeRollBack)); // Attach the 'AfterRollback' event. this.add_AfterRollback( new InstallEventHandler(MyInstaller_AfterRollback)); } //MyInstallerClass // Event handler for 'BeforeRollback' event. private void MyInstaller_BeforeRollBack(Object sender, InstallEventArgs e) { Console.WriteLine(""); Console.WriteLine("BeforeRollback Event occured."); Console.WriteLine(""); } //MyInstaller_BeforeRollBack // Event handler for 'AfterRollback' event. private void MyInstaller_AfterRollback(Object sender, InstallEventArgs e) { Console.WriteLine(""); Console.WriteLine("AfterRollback Event occured."); Console.WriteLine(""); } //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_BeforeRollback.exe "); } //main } //MyInstallerClass
プラットフォーム
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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
- Installer.BeforeRollback イベントのページへのリンク