Installer Classe

Definizione

Fornisce la base per installazioni personalizzate.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
Ereditarietà
Derivato

Esempi

Nell'esempio seguente viene illustrato l'utilizzo della Installer classe.The following example demonstrates the use of the Installer class. Viene creata una classe che eredita da Installer.It creates a class which inherits from Installer. Quando Commit sta per essere completato, Committing viene generato un evento e viene visualizzato un messaggio.When Commit is about to complete, Committing event occurs and a message is displayed. Per usare la Installer classe, è necessario fare riferimento all'assembly System. Configuration. Install nel progetto.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

   ' 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

   ' 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

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

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

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

Commenti

Si tratta della classe di base per tutti i programmi di installazione personalizzati nel .NET Framework.This is the base class for all custom installers in the .NET Framework. I programmi di installazione sono componenti che consentono di installare le applicazioni in un computer.Installers are components that help install applications on a computer.

Per usare un Installerè necessario eseguire diversi passaggi:There are several steps you must follow to use an Installer:

  • Eredita la Installer classe.Inherit the Installer class.

  • Eseguire l' Installoverride Commitdei Rollbackmetodi, Uninstall , e.Override the Install, Commit, Rollback, and Uninstall methods.

  • Aggiungere alla classe derivata e impostarla su true. RunInstallerAttributeAdd the RunInstallerAttribute to your derived class and set it to true.

  • Inserire la classe derivata nell'assembly con l'applicazione da installare.Put your derived class in the assembly with your application to install.

  • Richiamare i programmi di installazione.Invoke the installers. Ad esempio, utilizzare InstallUtil. exe per richiamare i programmi di installazione.For example, use the InstallUtil.exe to invoke the installers.

La Installers proprietà contiene una raccolta di programmi di installazione.The Installers property contains a collection of installers. Se questa istanza di Installer fa parte di una raccolta di programma di Parent installazione, la Installer proprietà viene impostata sull'istanza di che contiene la raccolta.If this instance of Installer is part of an installer collection, the Parent property is set to the Installer instance that contains the collection. Per un esempio dell'uso della Installers raccolta, vedere la AssemblyInstaller classe.For an example of the use of the Installers collection, see the AssemblyInstaller class.

I Installmetodi Commit, ,Rollback Installers e dellaUninstall classe passanoattraversolaraccoltadiprogrammidiinstallazionearchiviatinellaproprietàerichiamailmetodocorrispondentediInstaller ogni programma di installazione.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.

I Installmetodi Commit Installer ,, e nonUninstall vengono sempre chiamati sulla stessa istanza. RollbackThe Install, Commit, Rollback, and Uninstall methods are not always called on the same Installer instance. Ad esempio, Installer è possibile utilizzare un'istanza durante l'installazione e il commit di un'applicazione, quindi viene rilasciato il riferimento a tale istanza.For example, one Installer instance might be used while installing and committing an application, and then the reference to that instance is released. In seguito, la disinstallazione dell'applicazione crea un riferimento a una Installer nuova istanza di, ovvero Uninstall il metodo viene chiamato da un'istanza diversa Installerdi.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. Per questo motivo, nella classe derivata non salvare lo stato di un computer in un programma di installazione.For this reason, in your derived class, do not save the state of a computer in an installer. Usare invece un oggetto IDictionary che viene mantenuto tra le Installchiamate e passato nei metodi Commit, Rollback, e Uninstall .Instead, use an IDictionary that is preserved across calls and passed into your Install, Commit, Rollback, and Uninstall methods.

Due situazioni illustrano la necessità di salvare le informazioni nello stato-saver IDictionary.Two situations illustrate the need to save information in the state-saver IDictionary. Innanzitutto, si supponga che il programma di installazione imposti una chiave del registro di sistema.First, suppose that your installer sets a registry key. Il valore originale della chiave deve essere salvato in IDictionary.It should save the key's original value in the IDictionary. Se viene eseguito il rollback dell'installazione, è possibile ripristinare il valore originale.If the installation is rolled back, the original value can be restored. In secondo luogo, si supponga che il programma di installazione sostituisca un file esistente.Second, suppose the installer replaces an existing file. Salvare il file esistente in una directory temporanea e il percorso del nuovo percorso del file nel IDictionary.Save the existing file in a temporary directory and the location of the new location of the file in the IDictionary. Se viene eseguito il rollback dell'installazione, il file più recente viene eliminato e sostituito dall'originale dalla posizione temporanea.If the installation is rolled back, the newer file is deleted and replaced by the original from the temporary location.

La Installer.Context proprietà contiene informazioni sull'installazione di.The Installer.Context property contains information about the installation. Ad esempio, informazioni sul percorso del file di log per l'installazione, il percorso del file in cui salvare le informazioni richieste dal Uninstall metodo e la riga di comando immessa al momento dell'esecuzione dell'eseguibile di installazione.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.

Costruttori

Installer()

Inizializza una nuova istanza della classe Installer.Initializes a new instance of the Installer class.

Proprietà

CanRaiseEvents

Ottiene un valore che indica se il componente può generare un evento.Gets a value indicating whether the component can raise an event.

(Ereditato da Component)
Container

Ottiene il IContainer che contiene il Component.Gets the IContainer that contains the Component.

(Ereditato da Component)
Context

Ottiene o imposta le informazioni sull'installazione corrente.Gets or sets information about the current installation.

DesignMode

Ottiene un valore che indica se il Component si trova in modalità progettazione.Gets a value that indicates whether the Component is currently in design mode.

(Ereditato da Component)
Events

Ottiene l'elenco dei gestori eventi allegati a questo Component.Gets the list of event handlers that are attached to this Component.

(Ereditato da Component)
HelpText

Ottiene il testo della Guida per tutti i programmi di installazione dell'insieme Installer.Gets the help text for all the installers in the installer collection.

Installers

Ottiene l'insieme dei programmi di installazione contenuti nel programma.Gets the collection of installers that this installer contains.

Parent

Ottiene o imposta il programma di installazione contenente l'insieme cui appartiene questo programma di installazione.Gets or sets the installer containing the collection that this installer belongs to.

Site

Ottiene o imposta l'oggetto ISite di Component.Gets or sets the ISite of the Component.

(Ereditato da Component)

Metodi

Commit(IDictionary)

Quando sottoposto a override in una classe derivata, completa la transazione di installazione.When overridden in a derived class, completes the install transaction.

CreateObjRef(Type)

Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Ereditato da MarshalByRefObject)
Dispose()

Rilascia tutte le risorse usate da Component.Releases all resources used by the Component.

(Ereditato da Component)
Dispose(Boolean)

Rilascia le risorse non gestite usate da Component e, facoltativamente, le risorse gestite.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Ereditato da Component)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetLifetimeService()

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Ereditato da MarshalByRefObject)
GetService(Type)

Consente di restituire un oggetto che rappresenta un servizio fornito da Component o dal relativo Container.Returns an object that represents a service provided by the Component or by its Container.

(Ereditato da Component)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
InitializeLifetimeService()

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.Obtains a lifetime service object to control the lifetime policy for this instance.

(Ereditato da MarshalByRefObject)
Install(IDictionary)

Quando sottoposto a override in una classe derivata, esegue l'installazione.When overridden in a derived class, performs the installation.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.Creates a shallow copy of the current MarshalByRefObject object.

(Ereditato da MarshalByRefObject)
OnAfterInstall(IDictionary)

Genera l'evento AfterInstall.Raises the AfterInstall event.

OnAfterRollback(IDictionary)

Genera l'evento AfterRollback.Raises the AfterRollback event.

OnAfterUninstall(IDictionary)

Genera l'evento AfterUninstall.Raises the AfterUninstall event.

OnBeforeInstall(IDictionary)

Genera l'evento BeforeInstall.Raises the BeforeInstall event.

OnBeforeRollback(IDictionary)

Genera l'evento BeforeRollback.Raises the BeforeRollback event.

OnBeforeUninstall(IDictionary)

Genera l'evento BeforeUninstall.Raises the BeforeUninstall event.

OnCommitted(IDictionary)

Genera l'evento Committed.Raises the Committed event.

OnCommitting(IDictionary)

Genera l'evento Committing.Raises the Committing event.

Rollback(IDictionary)

Quando sottoposto a override in una classe derivata, ripristina lo stato del computer prima dell'installazione.When overridden in a derived class, restores the pre-installation state of the computer.

ToString()

Restituisce un oggetto String che contiene il nome dell'eventuale oggetto Component.Returns a String containing the name of the Component, if any. Questo metodo non deve essere sottoposto a override.This method should not be overridden.

(Ereditato da Component)
Uninstall(IDictionary)

Quando sottoposto a override in una classe derivata, rimuove un'installazione.When overridden in a derived class, removes an installation.

Eventi

AfterInstall

Viene generato dopo l'esecuzione dei metodi Install(IDictionary) di tutti i programmi di installazione contenuti nella proprietà Installers.Occurs after the Install(IDictionary) methods of all the installers in the Installers property have run.

AfterRollback

Si verifica dopo il rollback delle installazioni di tutti i programmi di installazione contenuti nella proprietà Installers.Occurs after the installations of all the installers in the Installers property are rolled back.

AfterUninstall

Viene generato dopo l'esecuzione delle operazioni di disinstallazione di tutti i programmi di installazione contenuti nella proprietà Installers.Occurs after all the installers in the Installers property perform their uninstallation operations.

BeforeInstall

Si verifica dopo l'esecuzione del metodo Install(IDictionary) di ogni programma di installazione contenuto nella raccolta Installer.Occurs before the Install(IDictionary) method of each installer in the installer collection has run.

BeforeRollback

Viene generato prima del rollback dei programmi di installazione contenuti nella proprietà Installers.Occurs before the installers in the Installers property are rolled back.

BeforeUninstall

Viene generato prima dell'esecuzione delle operazioni di disinstallazione dei programmi di installazione contenuti nella proprietà Installers.Occurs before the installers in the Installers property perform their uninstall operations.

Committed

Si verifica dopo l'esecuzione del commit delle installazioni di tutti i programmi di installazione contenuti nella proprietà Installers.Occurs after all the installers in the Installers property have committed their installations.

Committing

Si verifica prima dell'esecuzione del commit delle installazioni dei programmi di installazione contenuti nella proprietà Installers.Occurs before the installers in the Installers property commit their installations.

Disposed

Si verifica quando il componente viene eliminato da una chiamata al metodo Dispose().Occurs when the component is disposed by a call to the Dispose() method.

(Ereditato da Component)

Si applica a

Vedi anche