Installer Klas

Definitie

Biedt de basis voor aangepaste installaties.

public ref class Installer : System::ComponentModel::Component
public class Installer : System.ComponentModel.Component
type Installer = class
    inherit Component
Public Class Installer
Inherits Component
Overname
Afgeleid

Voorbeelden

In het volgende voorbeeld ziet u het gebruik van de Installer klasse. Er wordt een klasse gemaakt van waaruit wordt Installerovergenomen. Wanneer Commit het bijna is voltooid, Committing vindt de gebeurtenis plaats en wordt er een bericht weergegeven. Als u de Installer klasse wilt gebruiken, moet u verwijzen naar de assembly System.Configuration.Install in uw 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

Opmerkingen

Dit is de basisklasse voor alle aangepaste installatieprogramma's in het .NET Framework. Installatieprogramma's zijn onderdelen die helpen bij het installeren van toepassingen op een computer.

Er zijn verschillende stappen die u moet volgen om een Installer:

  • Installer De klasse overnemen.

  • Overschrijf de Installmethoden en RollbackCommitUninstall methoden.

  • Voeg de RunInstallerAttribute afgeleide klasse toe en stel deze in op true.

  • Plaats uw afgeleide klasse in de assembly met uw toepassing die u wilt installeren.

  • Roep de installatieprogramma's aan. Gebruik bijvoorbeeld de InstallUtil.exe om de installatieprogramma's aan te roepen.

De Installers eigenschap bevat een verzameling installatieprogramma's. Als dit exemplaar deel uitmaakt van Installer een installatieprogrammaverzameling, wordt de Parent eigenschap ingesteld op het Installer exemplaar dat de verzameling bevat. Zie de klasse voor een voorbeeld van het gebruik van de InstallersAssemblyInstaller verzameling.

De Installmethoden , RollbackCommiten Uninstall methoden van de Installer klasse doorlopen de verzameling installatieprogramma's die zijn opgeslagen in de Installers eigenschap en roept de bijbehorende methode van elk installatieprogramma aan.

De Installmethoden , Commiten RollbackUninstall methoden worden niet altijd aangeroepen op hetzelfde Installer exemplaar. Er kan bijvoorbeeld één Installer exemplaar worden gebruikt tijdens het installeren en doorvoeren van een toepassing en vervolgens wordt de verwijzing naar dat exemplaar vrijgegeven. Later maakt het verwijderen van de toepassing een verwijzing naar een nieuw Installer exemplaar, wat betekent dat de Uninstall methode wordt aangeroepen door een ander exemplaar van Installer. Sla daarom in uw afgeleide klasse de status van een computer niet op in een installatieprogramma. Gebruik in plaats daarvan een IDictionary die behouden blijft tussen aanroepen en doorgegeven aan uw Install, Commiten RollbackUninstall methoden.

Twee situaties illustreren de noodzaak om informatie op te slaan in de staatsbesparing IDictionary. Stel eerst dat uw installatieprogramma een registersleutel instelt. De oorspronkelijke waarde van de sleutel moet worden opgeslagen in de IDictionary. Als de installatie wordt teruggedraaid, kan de oorspronkelijke waarde worden hersteld. Stel dat het installatieprogramma een bestaand bestand vervangt. Sla het bestaande bestand op in een tijdelijke map en de locatie van de nieuwe locatie van het bestand in het IDictionarybestand. Als de installatie wordt teruggedraaid, wordt het nieuwere bestand verwijderd en vervangen door het origineel van de tijdelijke locatie.

De Installer.Context eigenschap bevat informatie over de installatie. Bijvoorbeeld informatie over de locatie van het logboekbestand voor de installatie, de locatie van het bestand om gegevens op te slaan die vereist zijn voor de Uninstall methode en de opdrachtregel die is ingevoerd toen het uitvoerbare installatiebestand werd uitgevoerd.

Constructors

Name Description
Installer()

Initialiseert een nieuw exemplaar van de Installer klasse.

Eigenschappen

Name Description
CanRaiseEvents

Hiermee wordt een waarde opgehaald die aangeeft of het onderdeel een gebeurtenis kan genereren.

(Overgenomen van Component)
Container

Hiermee haalt u het IContainer bestand op dat de Component.

(Overgenomen van Component)
Context

Hiermee haalt u informatie over de huidige installatie op of stelt u deze in.

DesignMode

Hiermee wordt een waarde opgehaald die aangeeft of de Component momenteel in de ontwerpmodus is.

(Overgenomen van Component)
Events

Hiermee haalt u de lijst met gebeurtenis-handlers op die aan dit Componentbestand zijn gekoppeld.

(Overgenomen van Component)
HelpText

Hiermee haalt u de Help-tekst op voor alle installatieprogramma's in de installatieverzameling.

Installers

Hiermee haalt u de verzameling installatieprogramma's op die dit installatieprogramma bevat.

Parent

Hiermee haalt u het installatieprogramma op met de verzameling waartoe dit installatieprogramma behoort.

Site

Haalt of stelt de ISite van de Component.

(Overgenomen van Component)

Methoden

Name Description
Commit(IDictionary)

Wanneer deze wordt overschreven in een afgeleide klasse, voltooit u de installatietransactie.

CreateObjRef(Type)

Hiermee maakt u een object dat alle relevante informatie bevat die nodig is om een proxy te genereren die wordt gebruikt om te communiceren met een extern object.

(Overgenomen van MarshalByRefObject)
Dispose()

Alle resources die worden gebruikt door de Component.

(Overgenomen van Component)
Dispose(Boolean)

Publiceert de niet-beheerde resources die worden gebruikt door de Component beheerde resources en brengt eventueel de beheerde resources vrij.

(Overgenomen van Component)
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetLifetimeService()

Hiermee haalt u het huidige levensduurserviceobject op waarmee het levensduurbeleid voor dit exemplaar wordt beheerd.

(Overgenomen van MarshalByRefObject)
GetService(Type)

Hiermee wordt een object geretourneerd dat een service vertegenwoordigt die wordt geleverd door of door de Component service Container.

(Overgenomen van Component)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
InitializeLifetimeService()

Hiermee haalt u een levensduurserviceobject op om het levensduurbeleid voor dit exemplaar te beheren.

(Overgenomen van MarshalByRefObject)
Install(IDictionary)

Wanneer deze wordt overschreven in een afgeleide klasse, wordt de installatie uitgevoerd.

MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
MemberwiseClone(Boolean)

Hiermee maakt u een ondiepe kopie van het huidige MarshalByRefObject object.

(Overgenomen van MarshalByRefObject)
OnAfterInstall(IDictionary)

Hiermee wordt de AfterInstall gebeurtenis gegenereerd.

OnAfterRollback(IDictionary)

Hiermee wordt de AfterRollback gebeurtenis gegenereerd.

OnAfterUninstall(IDictionary)

Hiermee wordt de AfterUninstall gebeurtenis gegenereerd.

OnBeforeInstall(IDictionary)

Hiermee wordt de BeforeInstall gebeurtenis gegenereerd.

OnBeforeRollback(IDictionary)

Hiermee wordt de BeforeRollback gebeurtenis gegenereerd.

OnBeforeUninstall(IDictionary)

Hiermee wordt de BeforeUninstall gebeurtenis gegenereerd.

OnCommitted(IDictionary)

Hiermee wordt de Committed gebeurtenis gegenereerd.

OnCommitting(IDictionary)

Hiermee wordt de Committing gebeurtenis gegenereerd.

Rollback(IDictionary)

Wanneer deze wordt overschreven in een afgeleide klasse, wordt de status van de installatie van de computer hersteld.

ToString()

Retourneert een String met de naam van de Component, indien van toepassing. Deze methode mag niet worden overschreven.

(Overgenomen van Component)
Uninstall(IDictionary)

Wanneer deze wordt overschreven in een afgeleide klasse, verwijdert u een installatie.

gebeurtenis

Name Description
AfterInstall

Vindt plaats nadat de Install(IDictionary) methoden van alle installatieprogramma's in de Installers eigenschap zijn uitgevoerd.

AfterRollback

Vindt plaats nadat de installaties van alle installatieprogramma's in de Installers eigenschap zijn teruggedraaid.

AfterUninstall

Vindt plaats nadat alle installatieprogramma's in de Installers eigenschap hun verwijderingsbewerkingen uitvoeren.

BeforeInstall

Vindt plaats voordat de Install(IDictionary) methode van elk installatieprogramma in de installatieverzameling is uitgevoerd.

BeforeRollback

Vindt plaats voordat de installatieprogramma's in de Installers eigenschap worden teruggedraaid.

BeforeUninstall

Vindt plaats voordat de installatieprogramma's in de Installers eigenschap hun verwijderingsbewerkingen uitvoeren.

Committed

Vindt plaats nadat alle installatieprogramma's in de Installers eigenschap hun installaties hebben doorgevoerd.

Committing

Vindt plaats voordat de installatieprogramma's in de Installers eigenschap hun installaties doorvoeren.

Disposed

Treedt op wanneer het onderdeel wordt verwijderd door een aanroep naar de Dispose() methode.

(Overgenomen van Component)

Van toepassing op

Zie ook