Installer Klasa

Definicja

Stanowi podstawę instalacji niestandardowych.

public ref class Installer : System::ComponentModel::Component
public class Installer : System.ComponentModel.Component
type Installer = class
    inherit Component
Public Class Installer
Inherits Component
Dziedziczenie
Pochodne

Przykłady

W poniższym przykładzie pokazano użycie Installer klasy . Tworzy klasę dziedziczą z Installerklasy . Gdy Commit zostanie ukończone, Committing wystąpi zdarzenie i zostanie wyświetlony komunikat. Aby użyć Installer klasy , należy odwołać się do zestawu System.Configuration.Install w projekcie.

#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

Uwagi

Jest to klasa bazowa dla wszystkich instalatorów niestandardowych w .NET Framework. Instalatory to składniki, które ułatwiają instalowanie aplikacji na komputerze.

Istnieje kilka kroków, które należy wykonać, aby użyć elementu Installer:

  • Dziedzicz klasę Installer .

  • Zastąpij Installmetody , Commit, Rollbacki Uninstall .

  • Dodaj element RunInstallerAttribute do klasy pochodnej i ustaw go na truewartość .

  • Umieść klasę pochodną w zestawie z aplikacją, aby ją zainstalować.

  • Wywołaj instalatory. Na przykład użyj InstallUtil.exe, aby wywołać instalatory.

Właściwość Installers zawiera kolekcję instalatorów. Jeśli to wystąpienie Installer programu jest częścią kolekcji instalatora, Parent właściwość jest ustawiona na Installer wystąpienie zawierające kolekcję. Aby zapoznać się z przykładem użycia Installers kolekcji, zobacz klasę AssemblyInstaller .

Metody InstallInstaller , Commit, Rollbacki Uninstall klasy przechodzą przez kolekcję instalatorów przechowywanych we Installers właściwości i wywołuje odpowiednią metodę każdego instalatora.

InstallMetody , , RollbackCommiti Uninstall nie zawsze są wywoływane w tym samym Installer wystąpieniu. Na przykład jedno Installer wystąpienie może być używane podczas instalowania i zatwierdzania aplikacji, a następnie zwalniane jest odwołanie do tego wystąpienia. Później odinstalowanie aplikacji powoduje utworzenie odwołania do nowego Installer wystąpienia, co oznacza, że Uninstall metoda jest wywoływana przez inne wystąpienie klasy Installer. Z tego powodu w klasie pochodnej nie zapisuj stanu komputera w instalatorze. Zamiast tego należy użyć elementu IDictionary , który jest zachowywany między wywołaniami i przekazywany do metod Install, Commit, Rollbacki Uninstall .

Dwie sytuacje ilustrują konieczność zapisywania informacji w module zapisywania IDictionarystanu . Najpierw załóżmy, że instalator ustawia klucz rejestru. Powinna ona zapisać oryginalną wartość klucza w pliku IDictionary. Jeśli instalacja zostanie wycofana, można przywrócić oryginalną wartość. Następnie załóżmy, że instalator zastępuje istniejący plik. Zapisz istniejący plik w katalogu tymczasowym i lokalizację nowej lokalizacji pliku w pliku IDictionary. Jeśli instalacja zostanie wycofana, nowszy plik zostanie usunięty i zastąpiony przez oryginał z lokalizacji tymczasowej.

Właściwość Installer.Context zawiera informacje o instalacji. Na przykład informacje o lokalizacji pliku dziennika instalacji, lokalizacji pliku w celu zapisania informacji wymaganych przez Uninstall metodę oraz wiersza polecenia wprowadzonego podczas uruchamiania pliku wykonywalnego instalacji.

Konstruktory

Installer()

Inicjuje nowe wystąpienie klasy Installer.

Właściwości

CanRaiseEvents

Pobiera wartość wskazującą, czy składnik może zgłosić zdarzenie.

(Odziedziczone po Component)
Container

Pobiera element IContainer zawierający element Component.

(Odziedziczone po Component)
Context

Pobiera lub ustawia informacje o bieżącej instalacji.

DesignMode

Pobiera wartość wskazującą, czy Component element jest obecnie w trybie projektowania.

(Odziedziczone po Component)
Events

Pobiera listę programów obsługi zdarzeń dołączonych do tego Componentelementu .

(Odziedziczone po Component)
HelpText

Pobiera tekst pomocy dla wszystkich instalatorów w kolekcji instalatora.

Installers

Pobiera kolekcję instalatorów, które zawiera ten instalator.

Parent

Pobiera lub ustawia instalator zawierający kolekcję, do których należy ten instalator.

Site

Pobiera lub ustawia wartość ISite .Component

(Odziedziczone po Component)

Metody

Commit(IDictionary)

Po zastąpieniu w klasie pochodnej, kończy transakcję instalacji.

CreateObjRef(Type)

Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym.

(Odziedziczone po MarshalByRefObject)
Dispose()

Zwalnia wszelkie zasoby używane przez element Component.

(Odziedziczone po Component)
Dispose(Boolean)

Zwalnia zasoby niezarządzane używane przez element Component i opcjonalnie zwalnia zasoby zarządzane.

(Odziedziczone po Component)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetLifetimeService()
Przestarzałe.

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
GetService(Type)

Zwraca obiekt, który reprezentuje usługę dostarczaną przez Component obiekt lub przez element Container.

(Odziedziczone po Component)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
InitializeLifetimeService()
Przestarzałe.

Uzyskuje obiekt usługi okresu istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
Install(IDictionary)

Podczas zastępowania w klasie pochodnej program wykonuje instalację.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy płytkią kopię bieżącego MarshalByRefObject obiektu.

(Odziedziczone po MarshalByRefObject)
OnAfterInstall(IDictionary)

AfterInstall Zgłasza zdarzenie.

OnAfterRollback(IDictionary)

AfterRollback Zgłasza zdarzenie.

OnAfterUninstall(IDictionary)

AfterUninstall Zgłasza zdarzenie.

OnBeforeInstall(IDictionary)

BeforeInstall Zgłasza zdarzenie.

OnBeforeRollback(IDictionary)

BeforeRollback Zgłasza zdarzenie.

OnBeforeUninstall(IDictionary)

BeforeUninstall Zgłasza zdarzenie.

OnCommitted(IDictionary)

Committed Zgłasza zdarzenie.

OnCommitting(IDictionary)

Committing Zgłasza zdarzenie.

Rollback(IDictionary)

Po zastąpieniu w klasie pochodnej przywraca stan przed instalacją komputera.

ToString()

Zwraca wartość String zawierającą nazwę Componentobiektu , jeśli istnieje. Ta metoda nie powinna być zastępowana.

(Odziedziczone po Component)
Uninstall(IDictionary)

Po przesłonięciu w klasie pochodnej program usuwa instalację.

Zdarzenia

AfterInstall

Występuje po uruchomieniu Install(IDictionary) metod wszystkich instalatorów we Installers właściwości .

AfterRollback

Występuje po wycofaniu instalacji wszystkich instalatorów we Installers właściwości.

AfterUninstall

Występuje po wykonaniu Installers operacji dezinstalacji przez wszystkich instalatorów we właściwości.

BeforeInstall

Występuje przed uruchomieniem Install(IDictionary) metody każdego instalatora w kolekcji instalatora.

BeforeRollback

Występuje przed wycofaniem instalatorów we Installers właściwości.

BeforeUninstall

Występuje przed wykonaniem operacji dezinstalacji przez instalatorów we Installers właściwości.

Committed

Występuje po zatwierdzeniu instalacji przez wszystkich instalatorów we Installers właściwości.

Committing

Występuje przed zatwierdzeniem instalacji przez instalatorów we Installers właściwości.

Disposed

Występuje, gdy składnik jest usuwany przez wywołanie Dispose() metody .

(Odziedziczone po Component)

Dotyczy

Zobacz też