Sdílet prostřednictvím


Installer Třída

Definice

Poskytuje základ pro vlastní instalace.

public ref class Installer : System::ComponentModel::Component
public class Installer : System.ComponentModel.Component
type Installer = class
    inherit Component
Public Class Installer
Inherits Component
Dědičnost
Odvozené

Příklady

Následující příklad ukazuje použití Installer třídy. Vytvoří třídu, která dědí z Installer. Kdy Commit se chystáte dokončit, Committing dojde k události a zobrazí se zpráva. Chcete-li použít Installer třídu, je nutné odkazovat na System.Configuration.Install sestavení v projektu.

#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

Poznámky

Toto je základní třída pro všechny vlastní instalační programy v rozhraní .NET Framework. Instalační programy jsou komponenty, které pomáhají instalovat aplikace do počítače.

Pokud chcete použít Installer:

  • Dědí Installer třídu.

  • InstallPřepsat , Commit, Rollbacka Uninstall metody.

  • RunInstallerAttribute Přidejte do odvozené třídy a nastavte ji na true.

  • Vložte odvozenou třídu do sestavení s vaší aplikací, která se má nainstalovat.

  • Vyvolání instalačních programů K vyvolání instalačních programů použijte například InstallUtil.exe.

Vlastnost Installers obsahuje kolekci instalačních programů. Pokud je tato instance součástí kolekce instalačního Installer programu, Parent vlastnost je nastavena na Installer instanci, která obsahuje kolekci. Příklad použití Installers kolekce naleznete ve AssemblyInstaller třídě.

Install, , CommitRollbacka Uninstall metody Installer třídy procházejí kolekcí instalačních programů uložených ve Installers vlastnosti a vyvolá odpovídající metodu každého instalačního programu.

Metody Install, , RollbackCommita Uninstall nejsou vždy volána ve stejné Installer instanci. Například při instalaci a potvrzení aplikace může být použita jedna Installer instance a pak se uvolní odkaz na tuto instanci. Později odinstalace aplikace vytvoří odkaz na novou Installer instanci, což znamená, že Uninstall metoda je volána jinou instancí Installer. Z tohoto důvodu v odvozené třídě neuložte stav počítače do instalačního programu. Místo toho použijte IDictionary zachovaný objekt napříč voláními a předaný do vaší Installmetody , CommitRollback, a Uninstall metody.

Dvě situace ilustrují potřebu ukládat informace do spořič IDictionarystavu . Nejprve předpokládejme, že instalační program nastaví klíč registru. Měl by uložit původní hodnotu klíče do IDictionarysouboru . Pokud se instalace vrátí zpět, můžete obnovit původní hodnotu. Za druhé, předpokládejme, že instalační program nahradí existující soubor. Uložte existující soubor do dočasného adresáře a umístění nového umístění souboru v adresáři IDictionary. Pokud se instalace vrátí zpět, novější soubor se odstraní a nahradí originálem z dočasného umístění.

Vlastnost Installer.Context obsahuje informace o instalaci. Například informace o umístění souboru protokolu pro instalaci, umístění souboru k uložení informací požadovaných Uninstall metodou a příkazového řádku, který byl zadán při spuštění instalačního spustitelného souboru.

Konstruktory

Name Description
Installer()

Inicializuje novou instanci Installer třídy.

Vlastnosti

Name Description
CanRaiseEvents

Získá hodnotu určující, zda komponenta může vyvolat událost.

(Zděděno od Component)
Container

Získá ten IContainer , který obsahuje Component.

(Zděděno od Component)
Context

Získá nebo nastaví informace o aktuální instalaci.

DesignMode

Získá hodnotu, která označuje, zda Component je aktuálně v režimu návrhu.

(Zděděno od Component)
Events

Získá seznam obslužných rutin událostí, které jsou připojeny k tomuto Component.

(Zděděno od Component)
HelpText

Získá text nápovědy pro všechny instalační programy v kolekci instalačního programu.

Installers

Získá kolekci instalačních programů, které tento instalační program obsahuje.

Parent

Získá nebo nastaví instalační program obsahující kolekci, do které tento instalační program patří.

Site

Získá nebo nastaví ISite .Component

(Zděděno od Component)

Metody

Name Description
Commit(IDictionary)

Při přepsání v odvozené třídě dokončí instalaci transakce.

CreateObjRef(Type)

Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy serveru sloužícího ke komunikaci se vzdáleným objektem.

(Zděděno od MarshalByRefObject)
Dispose()

Uvolní všechny prostředky používané nástrojem Component.

(Zděděno od Component)
Dispose(Boolean)

Uvolní nespravované prostředky používané Component a volitelně uvolní spravované prostředky.

(Zděděno od Component)
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetLifetimeService()
Zastaralé.

Načte objekt služby aktuální životnosti, který řídí zásady životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
GetService(Type)

Vrátí objekt, který představuje službu poskytovanou objektem Component nebo jeho Container.

(Zděděno od Component)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
InitializeLifetimeService()
Zastaralé.

Získá objekt služby životnosti pro řízení zásad životnosti pro tuto instanci.

(Zděděno od MarshalByRefObject)
Install(IDictionary)

Při přepsání v odvozené třídě provede instalaci.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
MemberwiseClone(Boolean)

Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu.

(Zděděno od MarshalByRefObject)
OnAfterInstall(IDictionary)

AfterInstall Vyvolá událost.

OnAfterRollback(IDictionary)

AfterRollback Vyvolá událost.

OnAfterUninstall(IDictionary)

AfterUninstall Vyvolá událost.

OnBeforeInstall(IDictionary)

BeforeInstall Vyvolá událost.

OnBeforeRollback(IDictionary)

BeforeRollback Vyvolá událost.

OnBeforeUninstall(IDictionary)

BeforeUninstall Vyvolá událost.

OnCommitted(IDictionary)

Committed Vyvolá událost.

OnCommitting(IDictionary)

Committing Vyvolá událost.

Rollback(IDictionary)

Při přepsání v odvozené třídě obnoví stav předběžné instalace počítače.

ToString()

String Vrátí hodnotu obsahující název Component, pokud existuje. Tato metoda by neměla být přepsána.

(Zděděno od Component)
Uninstall(IDictionary)

Při přepsání v odvozené třídě odebere instalaci.

Událost

Name Description
AfterInstall

Nastane po Install(IDictionary) spuštění metod všech instalačních programů ve Installers vlastnosti.

AfterRollback

Nastane po instalaci všech instalačních programů ve Installers vlastnosti se vrátí zpět.

AfterUninstall

Nastane po všech instalačních programech ve Installers vlastnosti provádět své operace odinstalace.

BeforeInstall

Nastane před spuštěním Install(IDictionary) metody každého instalačního programu v kolekci instalačního programu.

BeforeRollback

Nastane před vrácením instalačních programů ve Installers vlastnosti.

BeforeUninstall

Nastane dříve, než instalační programy ve Installers vlastnosti provádějí své operace odinstalace.

Committed

Nastane po potvrzení všech instalačních programů ve Installers vlastnosti jejich instalace.

Committing

Nastane před instalačními programy ve Installers vlastnosti potvrdí jejich instalace.

Disposed

Nastane, když komponenta je uvolněna voláním Dispose() metody.

(Zděděno od Component)

Platí pro

Viz také