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. Po Commit dokončení Committing dojde k události a zobrazí se zpráva. Chcete-li použít Installer třídu, musíte odkazovat na sestavení System.Configuration.Install 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 příkaz, musíte provést Installerněkolik kroků:

  • Zděděte Installer třídu.

  • InstallPřepište metody , Commit, Rollbacka Uninstall .

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

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

  • Vyvolání instalačních programů Můžete například použít InstallUtil.exe k vyvolání instalačních programů.

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

Metody InstallInstaller , Commit, Rollbacka Uninstall 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, Commit, Rollbacka Uninstall nejsou vždy volána ve stejné Installer instanci. Například jedna Installer instance může být použita při instalaci a potvrzení aplikace a pak se uvolní odkaz na danou 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ě neukládejte stav počítače v instalačním programu. Místo toho použijte metoduIDictionary, která se zachová napříč voláními a předá se do metod Install, CommitRollback, aUninstall.

Dvě situace ilustrují potřebu uložit informace do spořiče IDictionarystavu . Nejprve předpokládejme, že instalační program nastaví klíč registru. Původní hodnota klíče by měla být uložena v IDictionarysouboru . Pokud se instalace vrátí zpět, je možné 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 souboru IDictionary. Pokud se instalace vrátí zpět, novější soubor se odstraní a nahradí původní soubor 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 pro uložení informací vyžadovaných metodou Uninstall a příkazovém řádku, který byl zadán při spuštění spustitelného souboru instalace.

Konstruktory

Installer()

Inicializuje novou instanci Installer třídy.

Vlastnosti

CanRaiseEvents

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

(Zděděno od Component)
Container

Získá objekt 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 je aktuálně v režimu návrhu Component .

(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é patří tento instalační program.

Site

Získá nebo nastaví ISite hodnotu Component.

(Zděděno od Component)

Metody

Commit(IDictionary)

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

CreateObjRef(Type)

Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy používané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 nástrojem a volitelně uvolní spravované prostředky.

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

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

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

Slouží jako výchozí hashovací funkce.

(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 jejím Containerobjektem .

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

Získá aktuální Type instanci.

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

Získá objekt služby životnosti, který řídí zásady ž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 Objectsouboru .

(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řed instalací 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

AfterInstall

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

AfterRollback

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

AfterUninstall

Nastane poté, co všechny instalační programy ve Installers vlastnosti provedou 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 zpět.

BeforeUninstall

Nastane před tím, než instalační program ve Installers vlastnosti provede své operace odinstalace.

Committed

Nastane poté, co všechny instalační programy ve Installers vlastnosti potvrdily své instalace.

Committing

Nastane před tím, než instalační programy ve Installers vlastnosti potvrdí své instalace.

Disposed

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

(Zděděno od Component)

Platí pro

Viz také