Aracılığıyla paylaş


Installer Sınıf

Tanım

Özel yüklemeler için temel sağlar.

public ref class Installer : System::ComponentModel::Component
public class Installer : System.ComponentModel.Component
type Installer = class
    inherit Component
Public Class Installer
Inherits Component
Devralma
Türetilmiş

Örnekler

Aşağıdaki örnekte sınıfının kullanımı gösterilmektedir Installer . öğesinden Installerdevralınan bir sınıf oluşturur. Tamamlanmak üzereyken Commit olay Committing gerçekleşir ve bir ileti görüntülenir. sınıfını Installer kullanmak için projenizde System.Configuration.Install derlemesine başvurmanız gerekir.

#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

Açıklamalar

Bu, .NET Framework'teki tüm özel yükleyiciler için temel sınıftır. Yükleyiciler, bir bilgisayara uygulama yüklemeye yardımcı olan bileşenlerdir.

kullanmak Installeriçin izlemeniz gereken birkaç adım vardır:

  • sınıfını devralın Installer .

  • Install, , CommitRollbackve Uninstall yöntemlerini geçersiz kılın.

  • RunInstallerAttribute türetilmiş sınıfınıza öğesini ekleyin ve olarak trueayarlayın.

  • Türetilmiş sınıfınızı yüklenecek uygulamanızla derlemeye yerleştirin.

  • Yükleyicileri çağırın. Örneğin, yükleyicileri çağırmak için InstallUtil.exe kullanın.

Installers özelliği bir yükleyici koleksiyonu içerir. Bu örneği Installer bir yükleyici koleksiyonunun parçasıysa, Parent özelliği koleksiyonu içeren örneğe Installer ayarlanır. Koleksiyonun kullanımına Installers ilişkin bir örnek için sınıfına AssemblyInstaller bakın.

sınıfının Install, Commit, Rollbackve Uninstall yöntemleri Installer , özelliğinde Installers depolanan yükleyicilerin koleksiyonundan geçer ve her yükleyicinin ilgili yöntemini çağırır.

Install, Commit, Rollbackve Uninstall yöntemleri her zaman aynı Installer örnekte çağrılmıyor. Örneğin, Installer bir uygulama yüklenirken ve işlenirken bir örnek kullanılabilir ve ardından bu örneğe başvuru serbest bırakılır. Daha sonra, uygulamanın kaldırılması yeni Installer bir örneğe başvuru oluşturur, yani Uninstall yöntemi farklı bir örneği tarafından çağrılır Installer. Bu nedenle, türetilmiş sınıfınızda bir bilgisayarın durumunu yükleyiciye kaydetmeyin. Bunun yerine, çağrılar arasında korunan ve , Commit, Rollbackve Uninstall yöntemlerinize Installgeçirilen bir IDictionary kullanın.

İki durumda, bilgileri durum kaydedicisine kaydetme gereksinimi gösterilmektedir IDictionary. İlk olarak, yükleyicinizin bir kayıt defteri anahtarı ayarlandığını varsayalım. Anahtarın özgün değerini içinde kaydetmesi IDictionarygerekir. Yükleme geri alınırsa özgün değer geri yüklenebilir. İkincisi, yükleyicinin var olan bir dosyanın yerini aldırıyor olduğunu varsayalım. Var olan dosyayı geçici bir dizine ve dosyasındaki IDictionarydosyanın yeni konumunu kaydedin. Yükleme geri alınırsa, yeni dosya silinir ve geçici konumdan özgün dosyayla değiştirilir.

Installer.Context özelliği, yükleme hakkında bilgi içerir. Örneğin, yükleme için günlük dosyasının konumu, yöntemin gerektirdiği Uninstall bilgileri kaydetmek için dosyanın konumu ve yükleme yürütülebilir dosyası çalıştırıldığında girilen komut satırı hakkında bilgiler.

Oluşturucular

Installer()

Installer sınıfının yeni bir örneğini başlatır.

Özellikler

CanRaiseEvents

Bileşenin olay oluşturup oluşturamayacağını belirten bir değer alır.

(Devralındığı yer: Component)
Container

öğesini IContainer içeren öğesini Componentalır.

(Devralındığı yer: Component)
Context

Geçerli yüklemeyle ilgili bilgileri alır veya ayarlar.

DesignMode

öğesinin şu anda tasarım modunda olup olmadığını Component gösteren bir değer alır.

(Devralındığı yer: Component)
Events

Bu Componentöğesine eklenen olay işleyicilerinin listesini alır.

(Devralındığı yer: Component)
HelpText

Yükleyici koleksiyonundaki tüm yükleyiciler için yardım metnini alır.

Installers

Bu yükleyicinin içerdiği yükleyici koleksiyonunu alır.

Parent

Bu yükleyicinin ait olduğu koleksiyonu içeren yükleyiciyi alır veya ayarlar.

Site

öğesini alır veya ayarlar ISiteComponent.

(Devralındığı yer: Component)

Yöntemler

Commit(IDictionary)

Türetilmiş bir sınıfta geçersiz kılındığında yükleme işlemini tamamlar.

CreateObjRef(Type)

Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur.

(Devralındığı yer: MarshalByRefObject)
Dispose()

Component tarafından kullanılan tüm kaynakları serbest bırakır.

(Devralındığı yer: Component)
Dispose(Boolean)

Component tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve yönetilen kaynakları isteğe bağlı olarak serbest bırakır.

(Devralındığı yer: Component)
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetLifetimeService()
Geçersiz.

Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır.

(Devralındığı yer: MarshalByRefObject)
GetService(Type)

veya tarafından ComponentContainersağlanan bir hizmeti temsil eden bir nesnesi döndürür.

(Devralındığı yer: Component)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
InitializeLifetimeService()
Geçersiz.

Bu örneğin yaşam süresi ilkesini denetlemek için bir yaşam süresi hizmet nesnesi alır.

(Devralındığı yer: MarshalByRefObject)
Install(IDictionary)

Türetilmiş bir sınıfta geçersiz kılındığında yüklemeyi gerçekleştirir.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
MemberwiseClone(Boolean)

Geçerli MarshalByRefObject nesnenin sığ bir kopyasını oluşturur.

(Devralındığı yer: MarshalByRefObject)
OnAfterInstall(IDictionary)

Olayı tetikler AfterInstall .

OnAfterRollback(IDictionary)

Olayı tetikler AfterRollback .

OnAfterUninstall(IDictionary)

Olayı tetikler AfterUninstall .

OnBeforeInstall(IDictionary)

Olayı tetikler BeforeInstall .

OnBeforeRollback(IDictionary)

Olayı tetikler BeforeRollback .

OnBeforeUninstall(IDictionary)

Olayı tetikler BeforeUninstall .

OnCommitted(IDictionary)

Olayı tetikler Committed .

OnCommitting(IDictionary)

Olayı tetikler Committing .

Rollback(IDictionary)

Türetilmiş bir sınıfta geçersiz kılındığında, bilgisayarın yükleme öncesi durumunu geri yükler.

ToString()

Varsa, adını Componentiçeren bir String döndürür. Bu yöntem geçersiz kılınmamalıdır.

(Devralındığı yer: Component)
Uninstall(IDictionary)

Türetilmiş bir sınıfta geçersiz kılındığında, yüklemeyi kaldırır.

Ekinlikler

AfterInstall

özelliğindeki Install(IDictionary) tüm yükleyicilerin Installers yöntemleri çalıştırıldıktan sonra gerçekleşir.

AfterRollback

özelliğindeki tüm yükleyicilerin yüklemeleri Installers geri alındıktan sonra gerçekleşir.

AfterUninstall

özelliğindeki tüm yükleyiciler Installers kaldırma işlemlerini gerçekleştirdikten sonra gerçekleşir.

BeforeInstall

Yükleyici koleksiyonundaki Install(IDictionary) her yükleyicinin yöntemi çalışmadan önce gerçekleşir.

BeforeRollback

özelliğindeki Installers yükleyiciler geri almadan önce gerçekleşir.

BeforeUninstall

özelliğindeki Installers yükleyiciler kaldırma işlemlerini gerçekleştirmeden önce gerçekleşir.

Committed

özelliğindeki Installers tüm yükleyiciler yüklemelerini işledikten sonra gerçekleşir.

Committing

özelliğindeki Installers yükleyiciler yüklemelerini işlemeden önce gerçekleşir.

Disposed

Bileşen yöntemine Dispose() yapılan bir çağrı tarafından atıldığında gerçekleşir.

(Devralındığı yer: Component)

Şunlara uygulanır

Ayrıca bkz.