Installer Installer Installer Installer Class

Definition

Stellt die Grundlage für benutzerdefinierte Installationen bereit.Provides the foundation for custom installations.

public ref class Installer : System::ComponentModel::Component
public class Installer : System.ComponentModel.Component
type Installer = class
    inherit Component
Public Class Installer
Inherits Component
Vererbung
Abgeleitet

Beispiele

Im folgenden Beispiel wird die Verwendung Installer der-Klasse veranschaulicht.The following example demonstrates the use of the Installer class. Es wird eine Klasse erstellt, die von Installererbt.It creates a class which inherits from Installer. Wenn Commit gerade fertig ist, tritt Committing das-Ereignis auf, und es wird eine Meldung angezeigt.When Commit is about to complete, Committing event occurs and a message is displayed. Um die Installer -Klasse zu verwenden, müssen Sie in Ihrem Projekt auf die System. Configuration. Install -Assembly verweisen.To use the Installer class, you must reference the System.Configuration.Install assembly in your project.

#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 'Committing' event.
   void MyInstaller_Committing( Object^ sender, InstallEventArgs^ e )
   {
      Console::WriteLine( "" );
      Console::WriteLine( "Committing Event occurred." );
      Console::WriteLine( "" );
   }


   // Event handler for 'Committed' event.
   void MyInstaller_Committed( Object^ sender, InstallEventArgs^ e )
   {
      Console::WriteLine( "" );
      Console::WriteLine( "Committed Event occurred." );
      Console::WriteLine( "" );
   }


public:
   MyInstallerClass()
   {
      
      // Attach the 'Committed' event.
      this->Committed += gcnew InstallEventHandler( this, &MyInstallerClass::MyInstaller_Committed );
      
      // Attach the 'Committing' event.
      this->Committing += gcnew InstallEventHandler( this, &MyInstallerClass::MyInstaller_Committing );
   }


   // Override the 'Install' method.
   virtual void Install( IDictionary^ savedState ) override
   {
      Installer::Install( savedState );
   }


   // 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.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 'Committed' event.
      this.Committed += new InstallEventHandler(MyInstaller_Committed);
      // Attach the 'Committing' event.
      this.Committing += new InstallEventHandler(MyInstaller_Committing);

   }
   // Event handler for 'Committing' event.
   private void MyInstaller_Committing(object sender, InstallEventArgs e)
   {
      Console.WriteLine("");
      Console.WriteLine("Committing Event occurred.");
      Console.WriteLine("");
   }
   // Event handler for 'Committed' event.
   private void MyInstaller_Committed(object sender, InstallEventArgs e)
   {
      Console.WriteLine("");
      Console.WriteLine("Committed Event occurred.");
      Console.WriteLine("");
   }
   // Override the 'Install' method.
   public override void Install(IDictionary savedState)
   {
      base.Install(savedState);
   }
   // 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.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 'Committed' event.
      AddHandler Me.Committed, AddressOf MyInstaller_Committed
      ' Attach the 'Committing' event.
      AddHandler Me.Committing, AddressOf MyInstaller_Committing
   End Sub 'New

   ' Event handler for 'Committing' event.
   Private Sub MyInstaller_Committing(ByVal sender As Object, _
                                      ByVal e As InstallEventArgs)
      Console.WriteLine("")
      Console.WriteLine("Committing Event occurred.")
      Console.WriteLine("")
   End Sub 'MyInstaller_Committing

   ' Event handler for 'Committed' event.
   Private Sub MyInstaller_Committed(ByVal sender As Object, _
                                     ByVal e As InstallEventArgs)
      Console.WriteLine("")
      Console.WriteLine("Committed Event occurred.")
      Console.WriteLine("")
   End Sub 'MyInstaller_Committed

   ' Override the 'Install' method.
   Public Overrides Sub Install(ByVal savedState As IDictionary)
      MyBase.Install(savedState)
   End Sub 'Install

   ' Override the 'Commit' method.
   Public Overrides Sub Commit(ByVal savedState As IDictionary)
      MyBase.Commit(savedState)
   End Sub 'Commit

   ' Override the 'Rollback' method.
   Public Overrides Sub Rollback(ByVal savedState As IDictionary)
      MyBase.Rollback(savedState)
   End Sub 'Rollback
   Public Shared Sub Main()
      Console.WriteLine("Usage : installutil.exe Installer.exe ")
   End Sub 'Main
End Class 'MyInstallerClass

Hinweise

Dies ist die Basisklasse für alle benutzerdefinierten Installationsprogramme in der .NET Framework.This is the base class for all custom installers in the .NET Framework. Installationsprogramme sind Komponenten, die bei der Installation von Anwendungen auf einem Computer helfen.Installers are components that help install applications on a computer.

Es gibt mehrere Schritte, die Sie befolgen müssen, Installerum eine zu verwenden:There are several steps you must follow to use an Installer:

  • Erben Sie Installer die-Klasse.Inherit the Installer class.

  • Überschreiben InstallSie Commitdie RollbackMethoden, Uninstall , und.Override the Install, Commit, Rollback, and Uninstall methods.

  • Fügen Sie RunInstallerAttribute der abgeleiteten Klasse hinzu, und legen trueSie Sie auf fest.Add the RunInstallerAttribute to your derived class and set it to true.

  • Platzieren Sie die abgeleitete Klasse in der Assembly mit Ihrer Anwendung, um Sie zu installieren.Put your derived class in the assembly with your application to install.

  • Rufen Sie die Installationsprogramme auf.Invoke the installers. Verwenden Sie z. b. "installutil. exe", um die Installationsprogramme aufzurufen.For example, use the InstallUtil.exe to invoke the installers.

Die Installers -Eigenschaft enthält eine Auflistung von Installationsprogrammen.The Installers property contains a collection of installers. Wenn diese Instanz von Installer Teil einer Installerauflistung ist, wird Parent die-Eigenschaft auf die Installer -Instanz festgelegt, die die Auflistung enthält.If this instance of Installer is part of an installer collection, the Parent property is set to the Installer instance that contains the collection. Ein Beispiel für die Verwendung Installers der-Auflistung finden Sie unter der AssemblyInstaller -Klasse.For an example of the use of the Installers collection, see the AssemblyInstaller class.

Die InstallMethoden Commit, Installers , Rollbackund Uninstall derInstaller -Klasse durchlaufen die Auflistung von Installationsprogrammen, die in der-Eigenschaft gespeichert sind, und rufen die entsprechende-Methode der einzelnen Installationsprogramme auf.The Install, Commit, Rollback, and Uninstall methods of the Installer class go through the collection of installers stored in the Installers property, and invokes the corresponding method of each installer.

Die InstallMethoden Commit, ,Rollback Installer und werdenUninstall nicht immer für dieselbe Instanz aufgerufen.The Install, Commit, Rollback, and Uninstall methods are not always called on the same Installer instance. Beispielsweise kann eine Installer Instanz bei der Installation und dem Commit einer Anwendung verwendet werden. Anschließend wird der Verweis auf diese Instanz freigegeben.For example, one Installer instance might be used while installing and committing an application, and then the reference to that instance is released. Später wird beim Deinstallieren der Anwendung ein Verweis auf eine neue Installer -Instanz erstellt. dies Uninstall bedeutet, dass die-Methode von einer Installeranderen Instanz von aufgerufen wird.Later, uninstalling the application creates a reference to a new Installer instance, meaning that the Uninstall method is called by a different instance of Installer. Speichern Sie aus diesem Grund in der abgeleiteten Klasse den Zustand eines Computers nicht in einem Installationsprogramm.For this reason, in your derived class, do not save the state of a computer in an installer. Verwenden Sie stattdessen einen IDictionary , der über Aufrufe hinweg beibehalten wird und an Installdie CommitMethoden Rollback,, Uninstall und übermittelt wird.Instead, use an IDictionary that is preserved across calls and passed into your Install, Commit, Rollback, and Uninstall methods.

Zwei Situationen veranschaulichen, dass Sie Informationen im Zustands IDictionarySpeicher speichern müssen.Two situations illustrate the need to save information in the state-saver IDictionary. Angenommen, der Installer legt einen Registrierungsschlüssel fest.First, suppose that your installer sets a registry key. Der ursprüngliche Wert des Schlüssels sollte in IDictionarygespeichert werden.It should save the key's original value in the IDictionary. Wenn für die Installation ein Rollback ausgeführt wird, kann der ursprüngliche Wert wieder hergestellt werden.If the installation is rolled back, the original value can be restored. Angenommen, das Installationsprogramm ersetzt eine vorhandene Datei.Second, suppose the installer replaces an existing file. Speichern Sie die vorhandene Datei in einem temporären Verzeichnis und den Speicherort des neuen Speicher Orts der Datei im IDictionary.Save the existing file in a temporary directory and the location of the new location of the file in the IDictionary. Wenn für die Installation ein Rollback ausgeführt wird, wird die neuere Datei gelöscht und durch den ursprünglichen am temporären Speicherort ersetzt.If the installation is rolled back, the newer file is deleted and replaced by the original from the temporary location.

Die Installer.Context -Eigenschaft enthält Informationen zur-Installation.The Installer.Context property contains information about the installation. Beispielsweise Informationen zum Speicherort der Protokolldatei für die Installation, zum Speicherort der Datei zum Speichern von Informationen, die von der Uninstall Methode benötigt werden, und zur Befehlszeile, die beim Ausführen der ausführbaren Installationsdatei eingegeben wurde.For example, information about the location of the log file for the installation, the location of the file to save information required by the Uninstall method, and the command line that was entered when the installation executable was run.

Konstruktoren

Installer() Installer() Installer() Installer()

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

Eigenschaften

CanRaiseEvents CanRaiseEvents CanRaiseEvents 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.

(Inherited from Component)
Container Container Container Container

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

(Inherited from Component)
Context Context Context Context

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

DesignMode DesignMode DesignMode 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.

(Inherited from Component)
Events Events Events 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.

(Inherited from Component)
HelpText HelpText HelpText 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.

Installers Installers Installers Installers

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

Parent Parent Parent 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.

Site Site Site Site

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

(Inherited from Component)

Methoden

Commit(IDictionary) Commit(IDictionary) Commit(IDictionary) Commit(IDictionary)

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

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) 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.

(Inherited from MarshalByRefObject)
Dispose() Dispose() Dispose() Dispose()

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

(Inherited from Component)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) 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.

(Inherited from Component)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetLifetimeService() GetLifetimeService() GetLifetimeService() 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.

(Inherited from MarshalByRefObject)
GetService(Type) GetService(Type) GetService(Type) 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.

(Inherited from Component)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() 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.

(Inherited from MarshalByRefObject)
Install(IDictionary) Install(IDictionary) Install(IDictionary) Install(IDictionary)

Führt beim Überschreiben in einer abgeleiteten Klasse die Installation aus.When overridden in a derived class, performs the installation.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

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

(Inherited from MarshalByRefObject)
OnAfterInstall(IDictionary) OnAfterInstall(IDictionary) OnAfterInstall(IDictionary) OnAfterInstall(IDictionary)

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

OnAfterRollback(IDictionary) OnAfterRollback(IDictionary) OnAfterRollback(IDictionary) OnAfterRollback(IDictionary)

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

OnAfterUninstall(IDictionary) OnAfterUninstall(IDictionary) OnAfterUninstall(IDictionary) OnAfterUninstall(IDictionary)

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

OnBeforeInstall(IDictionary) OnBeforeInstall(IDictionary) OnBeforeInstall(IDictionary) OnBeforeInstall(IDictionary)

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

OnBeforeRollback(IDictionary) OnBeforeRollback(IDictionary) OnBeforeRollback(IDictionary) OnBeforeRollback(IDictionary)

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

OnBeforeUninstall(IDictionary) OnBeforeUninstall(IDictionary) OnBeforeUninstall(IDictionary) OnBeforeUninstall(IDictionary)

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

OnCommitted(IDictionary) OnCommitted(IDictionary) OnCommitted(IDictionary) OnCommitted(IDictionary)

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

OnCommitting(IDictionary) OnCommitting(IDictionary) OnCommitting(IDictionary) OnCommitting(IDictionary)

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

Rollback(IDictionary) Rollback(IDictionary) Rollback(IDictionary) 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.

ToString() ToString() ToString() 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.

(Inherited from Component)
Uninstall(IDictionary) Uninstall(IDictionary) Uninstall(IDictionary) Uninstall(IDictionary)

Entfernt beim Überschreiben in einer abgeleiteten Klasse eine Installation.When overridden in a derived class, removes an installation.

Ereignisse

AfterInstall AfterInstall AfterInstall 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.

AfterRollback AfterRollback AfterRollback 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.

AfterUninstall AfterUninstall AfterUninstall 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.

BeforeInstall BeforeInstall BeforeInstall 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.

BeforeRollback BeforeRollback BeforeRollback 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.

BeforeUninstall BeforeUninstall BeforeUninstall 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.

Committed Committed Committed 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.

Committing Committing Committing 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.

Disposed Disposed Disposed 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.

(Inherited from Component)

Gilt für:

Siehe auch