Installer Classe

Definizione

Fornisce la base per installazioni personalizzate.

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

Esempio

Nell'esempio seguente viene illustrato l'uso della Installer classe. Crea una classe che eredita da Installer. Quando Commit si sta per completare, Committing si verifica l'evento e viene visualizzato un messaggio. Per usare la classe, è necessario fare riferimento all'assembly InstallerSystem.Configuration.Install nel progetto.

#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 in .NET Framework. I programmi di installazione sono componenti che consentono di installare applicazioni in un computer.

È necessario seguire diversi passaggi per usare :Installer

  • Ereditare la Installer classe.

  • Eseguire l'override dei Installmetodi , Commit, Rollbacke Uninstall .

  • Aggiungere l'oggetto RunInstallerAttribute alla classe derivata e impostarlo su true.

  • Inserire la classe derivata nell'assembly con l'applicazione da installare.

  • Richiamare i programmi di installazione. Ad esempio, usare il InstallUtil.exe per richiamare i programmi di installazione.

La Installers proprietà contiene una raccolta di programmi di installazione. Se questa istanza di fa parte di una raccolta del programma di Installer installazione, la Parent proprietà è impostata sull'istanza Installer che contiene la raccolta. Per un esempio dell'uso della Installers raccolta, vedere la AssemblyInstaller classe .

I Installmetodi , Commit, Rollbacke Uninstall della Installer classe passano attraverso la raccolta di programmi di installazione archiviati nella Installers proprietà e richiama il metodo corrispondente di ogni programma di installazione.

I Installmetodi , , CommitRollbacke Uninstall non vengono sempre chiamati nella stessa Installer istanza. Ad esempio, un'istanza Installer può essere usata durante l'installazione e il commit di un'applicazione e quindi il riferimento a tale istanza viene rilasciato. In seguito, la disinstallazione dell'applicazione crea un riferimento a una nuova Installer istanza, ovvero che il Uninstall metodo viene chiamato da un'istanza diversa di Installer. Per questo motivo, nella classe derivata, non salvare lo stato di un computer in un programma di installazione. Usare invece un oggetto IDictionary che viene mantenuto tra le chiamate e passato ai Installmetodi , Commit, Rollbacke Uninstall .

Due situazioni illustrano la necessità di salvare le informazioni nel risparmio IDictionarydi stato . In primo luogo, si supponga che il programma di installazione imposta una chiave del Registro di sistema. Deve salvare il valore originale della chiave nell'oggetto IDictionary. Se l'installazione viene eseguito il rollback, il valore originale può essere ripristinato. In secondo luogo, si supponga che il programma di installazione sostituisca un file esistente. Salvare il file esistente in una directory temporanea e il percorso del nuovo percorso del file in IDictionary. Se l'installazione viene eseguito il rollback, il file più recente viene eliminato e sostituito dall'originale dal percorso temporaneo.

La Installer.Context proprietà contiene informazioni sull'installazione. Ad esempio, informazioni sul percorso del file di log per l'installazione, il percorso del file per salvare le informazioni necessarie dal Uninstall metodo e la riga di comando immessa quando è stato eseguito l'eseguibile di installazione.

Costruttori

Installer()

Inizializza una nuova istanza della classe Installer.

Proprietà

CanRaiseEvents

Ottiene un valore che indica se il componente può generare un evento.

(Ereditato da Component)
Container

Ottiene l'oggetto IContainer che contiene Component.

(Ereditato da Component)
Context

Ottiene o imposta le informazioni sull'installazione corrente.

DesignMode

Ottiene un valore che indica se il Component si trova in modalità progettazione.

(Ereditato da Component)
Events

Ottiene l'elenco dei gestori eventi allegati a questo Component.

(Ereditato da Component)
HelpText

Ottiene il testo della Guida per tutti i programmi di installazione della raccolta Installer.

Installers

Ottiene la raccolta dei programmi di installazione contenuti nel programma.

Parent

Ottiene o imposta il programma di installazione contenente la raccolta cui appartiene questo programma di installazione.

Site

Ottiene o imposta l'oggetto ISite di Component.

(Ereditato da Component)

Metodi

Commit(IDictionary)

Quando ne viene eseguito l'override in una classe derivata, completa la transazione di installazione.

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.

(Ereditato da MarshalByRefObject)
Dispose()

Rilascia tutte le risorse usate da Component.

(Ereditato da Component)
Dispose(Boolean)

Rilascia le risorse non gestite usate da Component e, facoltativamente, le risorse gestite.

(Ereditato da Component)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetLifetimeService()
Obsoleti.

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.

(Ereditato da MarshalByRefObject)
GetService(Type)

Consente di restituire un oggetto che rappresenta un servizio fornito da Component o dal relativo Container.

(Ereditato da Component)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
InitializeLifetimeService()
Obsoleti.

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.

(Ereditato da MarshalByRefObject)
Install(IDictionary)

Quando ne viene eseguito l'override in una classe derivata, esegue l'installazione.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.

(Ereditato da MarshalByRefObject)
OnAfterInstall(IDictionary)

Genera l'evento AfterInstall.

OnAfterRollback(IDictionary)

Genera l'evento AfterRollback.

OnAfterUninstall(IDictionary)

Genera l'evento AfterUninstall.

OnBeforeInstall(IDictionary)

Genera l'evento BeforeInstall.

OnBeforeRollback(IDictionary)

Genera l'evento BeforeRollback.

OnBeforeUninstall(IDictionary)

Genera l'evento BeforeUninstall.

OnCommitted(IDictionary)

Genera l'evento Committed.

OnCommitting(IDictionary)

Genera l'evento Committing.

Rollback(IDictionary)

Quando ne viene eseguito l'override in una classe derivata, ripristina lo stato del computer prima dell'installazione.

ToString()

Restituisce un oggetto String che contiene il nome dell'eventuale oggetto Component. Questo metodo non deve essere sottoposto a override.

(Ereditato da Component)
Uninstall(IDictionary)

Quando ne viene eseguito l'override in una classe derivata, rimuove un'installazione.

Eventi

AfterInstall

Si verifica dopo l'esecuzione dei metodi Install(IDictionary) di tutti i programmi di installazione contenuti nella proprietà Installers.

AfterRollback

Si verifica dopo il rollback delle installazioni di tutti i programmi di installazione contenuti nella proprietà Installers.

AfterUninstall

Si verifica dopo l'esecuzione delle operazioni di disinstallazione di tutti i programmi di installazione contenuti nella proprietà Installers.

BeforeInstall

Si verifica dopo l'esecuzione del metodo Install(IDictionary) di ogni programma di installazione contenuto nella raccolta Installer.

BeforeRollback

Si verifica prima del rollback dei programmi di installazione contenuti nella proprietà Installers.

BeforeUninstall

Si verifica prima dell'esecuzione delle operazioni di disinstallazione dei programmi di installazione contenuti nella proprietà Installers.

Committed

Si verifica dopo l'esecuzione del commit delle installazioni di tutti i programmi di installazione contenuti nella proprietà Installers.

Committing

Si verifica prima dell'esecuzione del commit delle installazioni dei programmi di installazione contenuti nella proprietà Installers.

Disposed

Si verifica quando il componente viene eliminato da una chiamata al metodo Dispose().

(Ereditato da Component)

Si applica a

Vedi anche