TransactedInstaller Klasse

Definition

Definiert ein Installationsprogramm, das entweder vollständig ausgeführt wird oder fehlschlägt und in letzterem Fall den Computer im ursprünglichen Zustand belässt.Defines an installer that either succeeds completely or fails and leaves the computer in its initial state.

public ref class TransactedInstaller : System::Configuration::Install::Installer
public class TransactedInstaller : System.Configuration.Install.Installer
type TransactedInstaller = class
    inherit Installer
Public Class TransactedInstaller
Inherits Installer
Vererbung

Beispiele

Im folgenden Beispiel werden die TransactedInstallerMethoden Install , Uninstall und der TransactedInstaller -Klasse veranschaulicht.The following example demonstrates the TransactedInstaller, Install and Uninstall methods of the TransactedInstaller class.

Dieses Beispiel bietet eine ähnliche Implementierung wie " installutil. exe" (Installationstool).This example provides an implementation similar to that of Installutil.exe (Installer Tool). Assemblys werden mit den Optionen installiert, die der jeweiligen Assembly vorangestellt sindIt installs assemblies with the options preceding that particular assembly. Wenn für eine Assembly keine Option angegeben ist, werden die Optionen der vorherigen Assembly verwendet, wenn eine vorherige Assembly in der Liste vorhanden ist.If an option is not specified for an assembly, the previous assembly's options are used if there is a previous assembly in the list. Wenn entweder die Option "/u" oder "/Uninstall" angegeben wird, werden die Assemblys deinstalliert.If either the "/u" or "/uninstall" option is specified, the assemblies are uninstalled. Wenn "/?"If the "/?" die Option "/Help" wird bereitgestellt, die Hilfe Informationen werden in der Konsole angezeigt.or "/help" option is provided, the help information is displayed to the console.

array<String^>^ args = Environment::GetCommandLineArgs();
ArrayList^ myOptions = gcnew ArrayList;
String^ myOption;
bool toUnInstall = false;
bool toPrintHelp = false;
TransactedInstaller^ myTransactedInstaller = gcnew TransactedInstaller;
AssemblyInstaller^ myAssemblyInstaller;
InstallContext^ myInstallContext;

try
{
   for ( int i = 1; i < args->Length; i++ )
   {
      // Process the arguments.
      if ( args[ i ]->StartsWith( "/" ) || args[ i ]->StartsWith( "-" ) )
      {
         myOption = args[ i ]->Substring( 1 );
         // Determine whether the option is to 'uninstall' an assembly.
         if ( String::Compare( myOption, "u", true ) == 0 ||
            String::Compare( myOption, "uninstall", true ) == 0 )
         {
            toUnInstall = true;
            continue;
         }
         // Determine whether the option is for printing help information.
         if ( String::Compare( myOption, "?", true ) == 0 ||
            String::Compare( myOption, "help", true ) == 0 )
         {
            toPrintHelp = true;
            continue;
         }
         // Add the option encountered to the list of all options
         // encountered for the current assembly.
         myOptions->Add( myOption );
      }
      else
      {
         // Determine whether the assembly file exists.
         if (  !File::Exists( args[ i ] ) )
         {
            // If assembly file doesn't exist then print error.
            Console::WriteLine( "\nError : {0} - Assembly file doesn't exist.",
               args[ i ] );
            return 0;
         }
         
         // Create a instance of 'AssemblyInstaller' that installs the given assembly.
         myAssemblyInstaller =
            gcnew AssemblyInstaller( args[ i ],
               (array<String^>^)( myOptions->ToArray( String::typeid ) ) );
         // Add the instance of 'AssemblyInstaller' to the 'TransactedInstaller'.
         myTransactedInstaller->Installers->Add( myAssemblyInstaller );
      }
   }
   
   // If user requested help or didn't provide any assemblies to install
   // then print help message.
   if ( toPrintHelp || myTransactedInstaller->Installers->Count == 0 )
   {
      PrintHelpMessage();
      return 0;
   }
   
   // Create a instance of 'InstallContext' with the options specified.
   myInstallContext =
      gcnew InstallContext( "Install.log",
         (array<String^>^)( myOptions->ToArray( String::typeid ) ) );
   myTransactedInstaller->Context = myInstallContext;
   
   // Install or Uninstall an assembly depending on the option provided.
   if (  !toUnInstall )
   {
      myTransactedInstaller->Install( gcnew Hashtable );
   }
   else
   {
      myTransactedInstaller->Uninstall( nullptr );
   }
}
catch ( Exception^ e ) 
{
   Console::WriteLine( "\nException raised : {0}", e->Message );
}
ArrayList myOptions = new ArrayList();
String myOption;
bool toUnInstall = false;
bool toPrintHelp = false;
TransactedInstaller myTransactedInstaller = new TransactedInstaller();
AssemblyInstaller myAssemblyInstaller;
InstallContext myInstallContext;

try
{
   for(int i = 0; i < args.Length; i++)
   {
      // Process the arguments.
      if(args[i].StartsWith("/") || args[i].StartsWith("-"))
      {
         myOption = args[i].Substring(1);
         // Determine whether the option is to 'uninstall' an assembly.
         if(String.Compare(myOption, "u", true) == 0 ||
            String.Compare(myOption, "uninstall", true) == 0)
         {
            toUnInstall = true;
            continue;
         }
         // Determine whether the option is for printing help information.
         if(String.Compare(myOption, "?", true) == 0 ||
            String.Compare(myOption, "help", true) == 0)
         {
            toPrintHelp = true;
            continue;
         }
         // Add the option encountered to the list of all options
         // encountered for the current assembly.
         myOptions.Add(myOption);
      }
      else
      {
         // Determine whether the assembly file exists.
         if(!File.Exists(args[i]))
         {
            // If assembly file doesn't exist then print error.
            Console.WriteLine("\nError : {0} - Assembly file doesn't exist.",
               args[i]);
            return;
         }
      
         // Create a instance of 'AssemblyInstaller' that installs the given assembly.
         myAssemblyInstaller = 
            new AssemblyInstaller(args[i], 
            (string[]) myOptions.ToArray(typeof(string)));
         // Add the instance of 'AssemblyInstaller' to the 'TransactedInstaller'.  
         myTransactedInstaller.Installers.Add(myAssemblyInstaller);
      }
   }
   // If user requested help or didn't provide any assemblies to install
   // then print help message.
   if(toPrintHelp || myTransactedInstaller.Installers.Count == 0)
   {
      PrintHelpMessage();
      return;
   }

   // Create a instance of 'InstallContext' with the options specified.
   myInstallContext = 
      new InstallContext("Install.log", 
      (string[]) myOptions.ToArray(typeof(string)));
   myTransactedInstaller.Context = myInstallContext;

   // Install or Uninstall an assembly depending on the option provided.
   if(!toUnInstall)
      myTransactedInstaller.Install(new Hashtable());
   else
      myTransactedInstaller.Uninstall(null);
}
catch(Exception e)
{
   Console.WriteLine("\nException raised : {0}", e.Message);
}  
Dim options As New ArrayList()
Dim myOption As String
Dim toUnInstall As Boolean = False
Dim toPrintHelp As Boolean = False
Dim myTransactedInstaller As New TransactedInstaller()
Dim myAssemblyInstaller As AssemblyInstaller
Dim myInstallContext As InstallContext

Try
   Dim i As Integer
   For i = 1 To args.Length - 1
      ' Process the arguments.
      If args(i).StartsWith("/") Or args(i).StartsWith("-") Then
         myOption = args(i).Substring(1)
         ' Determine whether the option is to 'uninstall' an assembly.
         If String.Compare(myOption, "u", True) = 0 Or _
            String.Compare(myOption,"uninstall", True) = 0 Then
            toUnInstall = True
            GoTo ContinueFor1
         End If
         ' Determine whether the option is for printing help information.
         If String.Compare(myOption, "?", True) = 0 Or _
            String.Compare(myOption, "help", True) = 0 Then
            toPrintHelp = True
            GoTo ContinueFor1
         End If
         ' Add the option encountered to the list of all options
         ' encountered for the current assembly.
         options.Add(myOption)
      Else
         ' Determine whether the assembly file exists.
         If Not File.Exists(args(i)) Then
            ' If assembly file doesn't exist then print error.
            Console.WriteLine(ControlChars.Newline + _
                     "Error : {0} - Assembly file doesn't exist.", args(i))
            Return
         End If

         ' Create a instance of 'AssemblyInstaller' that installs the given assembly.
         myAssemblyInstaller = New AssemblyInstaller(args(i), _
                        CType(options.ToArray(GetType(String)), String()))
         ' Add the instance of 'AssemblyInstaller' to the 'TransactedInstaller'.
         myTransactedInstaller.Installers.Add(myAssemblyInstaller)
      End If
   ContinueFor1:
   Next i
   ' If user requested help or didn't provide any assemblies to install
   ' then print help message.
   If toPrintHelp Or myTransactedInstaller.Installers.Count = 0 Then
      PrintHelpMessage()
      Return
   End If

   ' Create a instance of 'InstallContext' with the options specified.
   myInstallContext = New InstallContext("Install.log", _
               CType(options.ToArray(GetType(String)), String()))
   myTransactedInstaller.Context = myInstallContext

   ' Install or Uninstall an assembly depending on the option provided.
   If Not toUnInstall Then
      myTransactedInstaller.Install(New Hashtable())
   Else
      myTransactedInstaller.Uninstall(Nothing)
   End If
Catch e As Exception
   Console.WriteLine(ControlChars.Newline + "Exception raised : {0}", e.Message)
End Try

Hinweise

Wenn Sie Installationsprogramme in einer Transaktion ausführen möchten, fügen Installers Sie Sie der TransactedInstaller -Eigenschaft dieser Instanz hinzu.To run installers in a transaction, add them to the Installers property of this TransactedInstaller instance.

Konstruktoren

TransactedInstaller()

Initialisiert eine neue Instanz der TransactedInstaller-Klasse.Initializes a new instance of the TransactedInstaller class.

Eigenschaften

CanRaiseEvents

Ruft einen Wert ab, der angibt, ob die Komponente ein Ereignis auslösen kann.Gets a value indicating whether the component can raise an event.

(Geerbt von Component)
Container

Ruft den IContainer ab, der die Component enthält.Gets the IContainer that contains the Component.

(Geerbt von Component)
Context

Ruft Informationen über die derzeitige Installation ab oder legt diese fest.Gets or sets information about the current installation.

(Geerbt von Installer)
DesignMode

Ruft einen Wert ab, der angibt, ob sich Component gegenwärtig im Entwurfsmodus befindet.Gets a value that indicates whether the Component is currently in design mode.

(Geerbt von Component)
Events

Ruft die Liste der Ereignishandler ab, die dieser Component angefügt sind.Gets the list of event handlers that are attached to this Component.

(Geerbt von Component)
HelpText

Ruft den Hilfetext für alle in der entsprechenden Auflistung enthaltenen Installationsprogramme ab.Gets the help text for all the installers in the installer collection.

(Geerbt von Installer)
Installers

Ruft die Auflistung von Installationsprogrammen ab, die dieses Installationsprogramm enthält.Gets the collection of installers that this installer contains.

(Geerbt von Installer)
Parent

Ruft das Installationsprogramm ab, das die Auflistung mit diesem Installationsprogramm enthält, oder legt dieses fest.Gets or sets the installer containing the collection that this installer belongs to.

(Geerbt von Installer)
Site

Ruft den ISite von Component ab oder legt ihn fest.Gets or sets the ISite of the Component.

(Geerbt von Component)

Methoden

Commit(IDictionary)

Schließt beim Überschreiben in einer abgeleiteten Klasse die Installationstransaktion ab.When overridden in a derived class, completes the install transaction.

(Geerbt von Installer)
CreateObjRef(Type)

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Geerbt von MarshalByRefObject)
Dispose()

Gibt alle vom Component verwendeten Ressourcen frei.Releases all resources used by the Component.

(Geerbt von Component)
Dispose(Boolean)

Gibt die von Component verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Geerbt von Component)
Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Geerbt von Object)
GetLifetimeService()

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Geerbt von MarshalByRefObject)
GetService(Type)

Gibt ein Objekt zurück, das einen von der Component oder von deren Container bereitgestellten Dienst darstellt.Returns an object that represents a service provided by the Component or by its Container.

(Geerbt von Component)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
InitializeLifetimeService()

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.Obtains a lifetime service object to control the lifetime policy for this instance.

(Geerbt von MarshalByRefObject)
Install(IDictionary)

Führt die Installation durch.Performs the installation.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.Creates a shallow copy of the current MarshalByRefObject object.

(Geerbt von MarshalByRefObject)
OnAfterInstall(IDictionary)

Löst das AfterInstall-Ereignis aus.Raises the AfterInstall event.

(Geerbt von Installer)
OnAfterRollback(IDictionary)

Löst das AfterRollback-Ereignis aus.Raises the AfterRollback event.

(Geerbt von Installer)
OnAfterUninstall(IDictionary)

Löst das AfterUninstall-Ereignis aus.Raises the AfterUninstall event.

(Geerbt von Installer)
OnBeforeInstall(IDictionary)

Löst das BeforeInstall-Ereignis aus.Raises the BeforeInstall event.

(Geerbt von Installer)
OnBeforeRollback(IDictionary)

Löst das BeforeRollback-Ereignis aus.Raises the BeforeRollback event.

(Geerbt von Installer)
OnBeforeUninstall(IDictionary)

Löst das BeforeUninstall-Ereignis aus.Raises the BeforeUninstall event.

(Geerbt von Installer)
OnCommitted(IDictionary)

Löst das Committed-Ereignis aus.Raises the Committed event.

(Geerbt von Installer)
OnCommitting(IDictionary)

Löst das Committing-Ereignis aus.Raises the Committing event.

(Geerbt von Installer)
Rollback(IDictionary)

Stellt beim Überschreiben in einer abgeleiteten Klasse den Zustand wieder her, in dem sich der Computer vor der Installation befand.When overridden in a derived class, restores the pre-installation state of the computer.

(Geerbt von Installer)
ToString()

Gibt einen String zurück, der den Namen der Component enthält (sofern vorhanden).Returns a String containing the name of the Component, if any. Diese Methode darf nicht überschrieben werden.This method should not be overridden.

(Geerbt von Component)
Uninstall(IDictionary)

Entfernt eine Installation.Removes an installation.

Ereignisse

AfterInstall

Tritt ein, nachdem die Install(IDictionary)-Methoden aller in der Installers-Eigenschaft enthaltenen Installationsprogramme ausgeführt wurden.Occurs after the Install(IDictionary) methods of all the installers in the Installers property have run.

(Geerbt von Installer)
AfterRollback

Tritt ein, nachdem ein Rollback aller Installationen der Installationsprogramme in der Installers-Eigenschaft ausgeführt wurde.Occurs after the installations of all the installers in the Installers property are rolled back.

(Geerbt von Installer)
AfterUninstall

Tritt ein, nachdem alle Installationsprogramme in der Installers-Eigenschaft ihre jeweiligen Deinstallationsvorgänge ausgeführt haben.Occurs after all the installers in the Installers property perform their uninstallation operations.

(Geerbt von Installer)
BeforeInstall

Tritt ein, bevor die Install(IDictionary)-Methode aller in der Auflistung der Installationsprogramme enthaltenen Installationsprogramme ausgeführt worden ist.Occurs before the Install(IDictionary) method of each installer in the installer collection has run.

(Geerbt von Installer)
BeforeRollback

Tritt ein, bevor ein Rollback der Installationsprogramme in der Installers-Eigenschaft ausgeführt wird.Occurs before the installers in the Installers property are rolled back.

(Geerbt von Installer)
BeforeUninstall

Tritt ein, bevor die Installationsprogramme in der Installers-Eigenschaft ihre jeweiligen Deinstallationsvorgänge ausführen.Occurs before the installers in the Installers property perform their uninstall operations.

(Geerbt von Installer)
Committed

Tritt ein, nachdem alle Installationsprogramme in der Installers-Eigenschaft ein Commit für ihre Installationen ausgeführt haben.Occurs after all the installers in the Installers property have committed their installations.

(Geerbt von Installer)
Committing

Tritt ein, bevor die Installationsprogramme in der Installers-Eigenschaft ein Commit für ihre Installationen ausführen.Occurs before the installers in the Installers property commit their installations.

(Geerbt von Installer)
Disposed

Tritt ein, wenn die Komponente durch einen Aufruf der Dispose()-Methode freigegeben wird.Occurs when the component is disposed by a call to the Dispose() method.

(Geerbt von Component)

Gilt für: