Installer Klasa

Definicja

Stanowi podstawę instalacji niestandardowych.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
Dziedziczenie
Pochodne

Przykłady

Poniższy przykład demonstruje użycie Installer klasy.The following example demonstrates the use of the Installer class. Tworzy klasę, która dziedziczy z Installer .It creates a class which inherits from Installer. Gdy Commit zostanie zakończone, pojawi się Committing zdarzenie i zostanie wyświetlony komunikat.When Commit is about to complete, Committing event occurs and a message is displayed. Aby użyć Installer klasy, należy odwołać się do System.Configwersja. Zainstaluj zestaw w projekcie.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

Uwagi

Jest to klasa podstawowa dla wszystkich instalatorów niestandardowych w .NET Framework.This is the base class for all custom installers in the .NET Framework. Instalatory są składnikami, które pomagają instalować aplikacje na komputerze.Installers are components that help install applications on a computer.

Istnieje kilka kroków, które należy wykonać, aby użyć Installer :There are several steps you must follow to use an Installer:

  • Dziedzicz Installer klasę.Inherit the Installer class.

  • Zastąp Install Commit metody,, Rollback , i Uninstall .Override the Install, Commit, Rollback, and Uninstall methods.

  • Dodaj RunInstallerAttribute do klasy pochodnej i ustaw ją na true .Add the RunInstallerAttribute to your derived class and set it to true.

  • Umieść klasę pochodną w zestawie z aplikacją do zainstalowania.Put your derived class in the assembly with your application to install.

  • Wywołaj instalatorów.Invoke the installers. Na przykład użyj InstallUtil.exe do wywołania instalatorów.For example, use the InstallUtil.exe to invoke the installers.

InstallersWłaściwość zawiera kolekcję instalatorów.The Installers property contains a collection of installers. Jeśli to wystąpienie Installer jest częścią kolekcji Instalatora, Parent Właściwość jest ustawiana na Installer wystąpienie, które zawiera kolekcję.If this instance of Installer is part of an installer collection, the Parent property is set to the Installer instance that contains the collection. Aby zapoznać się z przykładem użycia Installers kolekcji, zapoznaj się z AssemblyInstaller klasą.For an example of the use of the Installers collection, see the AssemblyInstaller class.

InstallMetody, Commit , Rollback , i Uninstall Installer klasy przechodzą przez kolekcję instalatorów przechowywanych we Installers właściwości i wywołuje odpowiednią metodę każdego Instalatora.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.

InstallMetody, Commit , Rollback i Uninstall nie zawsze są wywoływane w tym samym Installer wystąpieniu.The Install, Commit, Rollback, and Uninstall methods are not always called on the same Installer instance. Na przykład, jedno Installer wystąpienie może być używane podczas instalowania i zatwierdzania aplikacji, a następnie odwołanie do tego wystąpienia jest wydane.For example, one Installer instance might be used while installing and committing an application, and then the reference to that instance is released. Później odinstalowanie aplikacji tworzy odwołanie do nowego Installer wystąpienia, co oznacza, że Uninstall Metoda jest wywoływana przez inne wystąpienie Installer .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. Z tego powodu w klasie pochodnej nie należy zapisywać stanu komputera w instalatorze.For this reason, in your derived class, do not save the state of a computer in an installer. Zamiast tego należy użyć, IDictionary który jest zachowywany przez wywołania i przekazywać do Install Commit metod,, Rollback i Uninstall .Instead, use an IDictionary that is preserved across calls and passed into your Install, Commit, Rollback, and Uninstall methods.

Dwie sytuacje ilustrują konieczność zapisywania informacji w wygaszaczu stanu IDictionary .Two situations illustrate the need to save information in the state-saver IDictionary. Najpierw Załóżmy, że Instalator ustawi klucz rejestru.First, suppose that your installer sets a registry key. Należy zapisać oryginalną wartość klucza w IDictionary .It should save the key's original value in the IDictionary. Jeśli instalacja zostanie wycofana, można przywrócić oryginalną wartość.If the installation is rolled back, the original value can be restored. Po drugie Załóżmy, że Instalator zamieni istniejący plik.Second, suppose the installer replaces an existing file. Zapisz istniejący plik w katalogu tymczasowym i lokalizację nowej lokalizacji pliku w programie IDictionary .Save the existing file in a temporary directory and the location of the new location of the file in the IDictionary. Jeśli instalacja zostanie wycofana, nowszy plik zostanie usunięty i zastąpiony przez oryginalny z lokalizacji tymczasowej.If the installation is rolled back, the newer file is deleted and replaced by the original from the temporary location.

Installer.ContextWłaściwość zawiera informacje o instalacji.The Installer.Context property contains information about the installation. Na przykład informacje o lokalizacji pliku dziennika instalacji, lokalizacji pliku do zapisania informacji wymaganych przez Uninstall metodę oraz wiersz polecenia, który został wprowadzony podczas uruchomienia pliku wykonywalnego instalacji.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.

Konstruktory

Installer()

Inicjuje nowe wystąpienie klasy Installer.Initializes a new instance of the Installer class.

Właściwości

CanRaiseEvents

Pobiera wartość wskazującą, czy składnik może zgłosić zdarzenie.Gets a value indicating whether the component can raise an event.

(Odziedziczone po Component)
Container

Pobiera IContainer , który zawiera Component .Gets the IContainer that contains the Component.

(Odziedziczone po Component)
Context

Pobiera lub ustawia informacje o bieżącej instalacji.Gets or sets information about the current installation.

DesignMode

Pobiera wartość wskazującą, czy Component jest aktualnie w trybie projektowania.Gets a value that indicates whether the Component is currently in design mode.

(Odziedziczone po Component)
Events

Pobiera listę programów obsługi zdarzeń, które są dołączone do tego elementu Component .Gets the list of event handlers that are attached to this Component.

(Odziedziczone po Component)
HelpText

Pobiera tekst pomocy dla wszystkich instalatorów w kolekcji Instalatora.Gets the help text for all the installers in the installer collection.

Installers

Pobiera kolekcję instalatorów, które zawiera ten Instalator.Gets the collection of installers that this installer contains.

Parent

Pobiera lub ustawia Instalator zawierający kolekcję, do której należy ten Instalator.Gets or sets the installer containing the collection that this installer belongs to.

Site

Pobiera lub ustawia wartość ISite Component .Gets or sets the ISite of the Component.

(Odziedziczone po Component)

Metody

Commit(IDictionary)

Gdy jest zastępowany w klasie pochodnej, uzupełnia transakcja instalacji.When overridden in a derived class, completes the install transaction.

CreateObjRef(Type)

Tworzy obiekt, który zawiera wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikacji z obiektem zdalnym.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Odziedziczone po MarshalByRefObject)
Dispose()

Zwalnia wszelkie zasoby używane przez element Component.Releases all resources used by the Component.

(Odziedziczone po Component)
Dispose(Boolean)

Zwalnia zasoby niezarządzane używane przez element Component i opcjonalnie zwalnia zasoby zarządzane.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Odziedziczone po Component)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetLifetimeService()

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Odziedziczone po MarshalByRefObject)
GetService(Type)

Zwraca obiekt, który reprezentuje usługę dostarczoną przez Component lub przez Container .Returns an object that represents a service provided by the Component or by its Container.

(Odziedziczone po Component)
GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
InitializeLifetimeService()

Uzyskuje obiekt usługi istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia.Obtains a lifetime service object to control the lifetime policy for this instance.

(Odziedziczone po MarshalByRefObject)
Install(IDictionary)

Gdy jest zastępowany w klasie pochodnej, przeprowadza instalację.When overridden in a derived class, performs the installation.

MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy skróconą kopię bieżącego MarshalByRefObject obiektu.Creates a shallow copy of the current MarshalByRefObject object.

(Odziedziczone po MarshalByRefObject)
OnAfterInstall(IDictionary)

Podnosi AfterInstall zdarzenie.Raises the AfterInstall event.

OnAfterRollback(IDictionary)

Podnosi AfterRollback zdarzenie.Raises the AfterRollback event.

OnAfterUninstall(IDictionary)

Podnosi AfterUninstall zdarzenie.Raises the AfterUninstall event.

OnBeforeInstall(IDictionary)

Podnosi BeforeInstall zdarzenie.Raises the BeforeInstall event.

OnBeforeRollback(IDictionary)

Podnosi BeforeRollback zdarzenie.Raises the BeforeRollback event.

OnBeforeUninstall(IDictionary)

Podnosi BeforeUninstall zdarzenie.Raises the BeforeUninstall event.

OnCommitted(IDictionary)

Podnosi Committed zdarzenie.Raises the Committed event.

OnCommitting(IDictionary)

Podnosi Committing zdarzenie.Raises the Committing event.

Rollback(IDictionary)

W przypadku zastąpienia w klasie pochodnej program przywraca stan sprzed instalacji komputera.When overridden in a derived class, restores the pre-installation state of the computer.

ToString()

Zwraca wartość String zawierającą nazwę Component (jeśli istnieje).Returns a String containing the name of the Component, if any. Ta metoda nie powinna być przesłaniana.This method should not be overridden.

(Odziedziczone po Component)
Uninstall(IDictionary)

Gdy jest zastępowany w klasie pochodnej, usuwa instalację.When overridden in a derived class, removes an installation.

Zdarzenia

AfterInstall

Występuje po Install(IDictionary) uruchomieniu metod wszystkich instalatorów we Installers właściwości.Occurs after the Install(IDictionary) methods of all the installers in the Installers property have run.

AfterRollback

Występuje po wycofaniu instalacji wszystkich instalatorów we Installers właściwości.Occurs after the installations of all the installers in the Installers property are rolled back.

AfterUninstall

Występuje, gdy wszystkie Instalatory we Installers Właściwości wykonują operacje odinstalowywania.Occurs after all the installers in the Installers property perform their uninstallation operations.

BeforeInstall

Występuje przed Install(IDictionary) uruchomieniem metody każdego Instalatora w kolekcji Instalatora.Occurs before the Install(IDictionary) method of each installer in the installer collection has run.

BeforeRollback

Występuje przed wycofaniem instalatorów we Installers właściwości.Occurs before the installers in the Installers property are rolled back.

BeforeUninstall

Występuje przed Installers wykonaniem operacji odinstalowywania przez instalatorów we właściwości.Occurs before the installers in the Installers property perform their uninstall operations.

Committed

Występuje po Installers pomyślnej instalacji wszystkich instalatorów we właściwości.Occurs after all the installers in the Installers property have committed their installations.

Committing

Występuje przed zatwierdzeniem instalacji przez instalatorów we Installers właściwości.Occurs before the installers in the Installers property commit their installations.

Disposed

Występuje, gdy składnik zostanie usunięty przez wywołanie Dispose() metody.Occurs when the component is disposed by a call to the Dispose() method.

(Odziedziczone po Component)

Dotyczy

Zobacz też