Installer Osztály

Definíció

Biztosítja az egyéni telepítések alapjait.

public ref class Installer : System::ComponentModel::Component
public class Installer : System.ComponentModel.Component
type Installer = class
    inherit Component
Public Class Installer
Inherits Component
Öröklődés
Származtatott

Példák

Az alábbi példa az osztály használatát Installer mutatja be. Létrehoz egy osztályt, amely a forrásból Installeröröklődik. Amikor Commit befejeződik, esemény történik, Committing és megjelenik egy üzenet. Az Installer osztály használatához hivatkoznia kell a System.Configuration.Install szerelvényre a projektben.

#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

Megjegyzések

Ez a .NET-keretrendszer összes egyéni telepítőjének alaposztálya. A telepítők olyan összetevők, amelyek segítenek alkalmazások telepítésében a számítógépen.

A következő lépéseket kell követnie:Installer

  • Örökli az osztályt Installer .

  • Felülbírálja a Install, Commit, Rollbackés Uninstall metódusokat.

  • Adja hozzá a RunInstallerAttribute származtatott osztályhoz, és állítsa be a következőre true: .

  • Helyezze a származtatott osztályt a szerelvénybe az alkalmazással együtt a telepítéshez.

  • Hívja meg a telepítőket. A telepítők meghívásához használja például a InstallUtil.exe.

A Installers tulajdonság telepítők gyűjteményét tartalmazza. Ha ez a Installer példány egy telepítőgyűjtemény része, a Parent tulajdonság a Installer gyűjteményt tartalmazó példányra van állítva. A gyűjtemény használatára példaként tekintse meg az Installers osztályt AssemblyInstaller .

Az Installosztály , Commit, Rollbackés Uninstall metódusa Installer végighalad a tulajdonságban tárolt telepítők gyűjteményén Installers , és meghívja az egyes telepítők megfelelő metódusát.

A Install, Commit, Rollbackés Uninstall metódusok nem mindig ugyanazon Installer a példányon vannak meghívva. Például egy Installer példány használható egy alkalmazás telepítése és véglegesítése során, majd megjelenik az adott példányra mutató hivatkozás. Később az alkalmazás eltávolítása egy új Installer példányra mutató hivatkozást hoz létre, ami azt jelenti, hogy a Uninstall metódust egy másik példány Installerhívja meg. Ezért a származtatott osztályban ne mentse a számítógép állapotát egy telepítőben. Ehelyett használjon egy IDictionary , a hívások között megőrzött és a Install, Commit, , Rollbackés Uninstall metódusokba továbbított parancsot.

Két helyzet szemlélteti az adatok mentésének szükségességét az állapotmentőben IDictionary. Először is tegyük fel, hogy a telepítő beállít egy beállításkulcsot. Mentenie kell a kulcs eredeti értékét a IDictionary. Ha a telepítés visszakerül, az eredeti érték visszaállítható. Másodszor tegyük fel, hogy a telepítő lecserél egy meglévő fájlt. Mentse a meglévő fájlt egy ideiglenes könyvtárban, és a fájl új helyének helyét a IDictionaryfájlban. Ha a telepítés vissza lett állítva, a rendszer törli az újabb fájlt, és lecseréli az eredetit az ideiglenes helyről.

A Installer.Context tulajdonság a telepítéssel kapcsolatos információkat tartalmaz. Például a telepítés naplófájljának helyével, a metódus által Uninstall igényelt adatok mentéséhez szükséges fájl helyével és a végrehajtható telepítés futtatásakor beírt parancssorsal kapcsolatos információk.

Konstruktorok

Name Description
Installer()

Inicializálja a Installer osztály új példányát.

Tulajdonságok

Name Description
CanRaiseEvents

Beolvas egy értéket, amely jelzi, hogy az összetevő képes-e eseményt létrehozni.

(Öröklődés forrása Component)
Container

Lekéri a IContainer .Component

(Öröklődés forrása Component)
Context

Lekéri vagy beállítja az aktuális telepítéssel kapcsolatos információkat.

DesignMode

Olyan értéket kap, amely jelzi, hogy az Component aktuálisan tervezési módban van-e.

(Öröklődés forrása Component)
Events

Lekéri az ehhez Componentcsatolt eseménykezelők listáját.

(Öröklődés forrása Component)
HelpText

Lekéri a telepítőgyűjtemény összes telepítőjének súgószövegét.

Installers

Lekéri a telepítő által tartalmazott telepítők gyűjteményét.

Parent

Lekéri vagy beállítja azt a gyűjteményt tartalmazó telepítőt, amelyhez ez a telepítő tartozik.

Site

Lekéri vagy megadja a ISite értékét a Component-hez.

(Öröklődés forrása Component)

Metódusok

Name Description
Commit(IDictionary)

Ha felül van bírálva egy származtatott osztályban, befejezi a telepítési tranzakciót.

CreateObjRef(Type)

Létrehoz egy objektumot, amely tartalmazza a távoli objektumokkal való kommunikációhoz használt proxy létrehozásához szükséges összes releváns információt.

(Öröklődés forrása MarshalByRefObject)
Dispose()

Felszabadítja a .-hez használt összes erőforrást Component.

(Öröklődés forrása Component)
Dispose(Boolean)

Felszabadítja a felügyelt erőforrások által Component használt nem felügyelt erőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat.

(Öröklődés forrása Component)
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetLifetimeService()
Elavult.

Lekéri a példány élettartamszabályzatát vezérlő aktuális élettartam-szolgáltatásobjektumot.

(Öröklődés forrása MarshalByRefObject)
GetService(Type)

Olyan objektumot ad vissza, amely az általa vagy annak által ComponentContainernyújtott szolgáltatást jelöli.

(Öröklődés forrása Component)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
InitializeLifetimeService()
Elavult.

Beolvas egy élettartam-szolgáltatásobjektumot a példány élettartam-szabályzatának szabályozásához.

(Öröklődés forrása MarshalByRefObject)
Install(IDictionary)

Ha felül van bírálva egy származtatott osztályban, végrehajtja a telepítést.

MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
MemberwiseClone(Boolean)

Az aktuális MarshalByRefObject objektum sekély másolatát hozza létre.

(Öröklődés forrása MarshalByRefObject)
OnAfterInstall(IDictionary)

Az eseményt emeli AfterInstall ki.

OnAfterRollback(IDictionary)

Az eseményt emeli AfterRollback ki.

OnAfterUninstall(IDictionary)

Az eseményt emeli AfterUninstall ki.

OnBeforeInstall(IDictionary)

Az eseményt emeli BeforeInstall ki.

OnBeforeRollback(IDictionary)

Az eseményt emeli BeforeRollback ki.

OnBeforeUninstall(IDictionary)

Az eseményt emeli BeforeUninstall ki.

OnCommitted(IDictionary)

Az eseményt emeli Committed ki.

OnCommitting(IDictionary)

Az eseményt emeli Committing ki.

Rollback(IDictionary)

Ha egy származtatott osztályban felül van bírálva, visszaállítja a számítógép telepítés előtti állapotát.

ToString()

String A ( ha van) nevet tartalmazó értéket Componentad vissza. Ezt a módszert nem szabad felülírni.

(Öröklődés forrása Component)
Uninstall(IDictionary)

Ha felül van bírálva egy származtatott osztályban, eltávolít egy telepítést.

esemény

Name Description
AfterInstall

A tulajdonságban lévő Install(IDictionary) összes telepítő metódusának futtatása után Installers következik be.

AfterRollback

A tulajdonságban lévő Installers összes telepítő telepítése után következik be.

AfterUninstall

Akkor következik be, ha a tulajdonság összes telepítője végrehajtja az Installers eltávolítási műveleteket.

BeforeInstall

A telepítőgyűjteményben lévő összes telepítő metódusának futtatása előtt Install(IDictionary) következik be.

BeforeRollback

A tulajdonság telepítőinek Installers visszaállítása előtt történik.

BeforeUninstall

Mielőtt a tulajdonság telepítői végrehajtanák az Installers eltávolítási műveleteket.

Committed

Akkor fordul elő, ha a tulajdonság összes telepítője véglegesítette a Installers telepítést.

Committing

Mielőtt a tulajdonság telepítői véglegesítik a Installers telepítésüket.

Disposed

Akkor fordul elő, ha az összetevőt a metódus hívása megsemmisíti Dispose() .

(Öröklődés forrása Component)

A következőre érvényes:

Lásd még