Share via


Installer Kelas

Definisi

Menyediakan fondasi untuk penginstalan kustom.

public ref class Installer : System::ComponentModel::Component
public class Installer : System.ComponentModel.Component
type Installer = class
    inherit Component
Public Class Installer
Inherits Component
Warisan
Turunan

Contoh

Contoh berikut menunjukkan penggunaan Installer kelas . Ini membuat kelas yang mewarisi dari Installer. Kapan Commit akan selesai, Committing peristiwa terjadi dan pesan ditampilkan. Untuk menggunakan Installer kelas , Anda harus mereferensikan rakitan System.Configuration.Install di proyek Anda.

#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

Keterangan

Ini adalah kelas dasar untuk semua penginstal kustom di .NET Framework. Alat penginstal adalah komponen yang membantu menginstal aplikasi di komputer.

Ada beberapa langkah yang harus Anda ikuti untuk menggunakan Installer:

  • Mewarisi Installer kelas .

  • Ambil alih Installmetode , Commit, Rollback, dan Uninstall .

  • Tambahkan ke RunInstallerAttribute kelas turunan Anda dan atur ke true.

  • Letakkan kelas turunan Anda di assembly dengan aplikasi Anda untuk diinstal.

  • Panggil alat penginstal. Misalnya, gunakan InstallUtil.exe untuk memanggil alat penginstal.

Properti Installers berisi kumpulan alat penginstal. Jika instans Installer ini adalah bagian dari koleksi alat penginstal, Parent properti diatur ke Installer instans yang berisi koleksi. Untuk contoh penggunaan Installers koleksi, lihat AssemblyInstaller kelas .

Metode Install, Commit, Rollback, dan Uninstall kelas Installer melalui koleksi alat penginstal yang disimpan di Installers properti , dan memanggil metode yang sesuai dari setiap alat penginstal.

Metode Install, Commit, Rollback, dan Uninstall tidak selalu dipanggil pada instans yang sama Installer . Misalnya, satu Installer instans dapat digunakan saat menginstal dan menerapkan aplikasi, lalu referensi ke instans tersebut dirilis. Kemudian, menghapus instalan aplikasi membuat referensi ke instans baru Installer , yang berarti bahwa metode dipanggil Uninstall oleh instans yang berbeda dari Installer. Untuk alasan ini, di kelas turunan Anda, jangan simpan status komputer dalam alat penginstal. Sebagai gantinya, gunakan IDictionary yang dipertahankan di seluruh panggilan dan diteruskan ke metode , , CommitRollback, dan Uninstall AndaInstall.

Dua situasi menggambarkan kebutuhan untuk menyimpan informasi di state-saver IDictionary. Pertama, misalkan alat penginstal Anda menetapkan kunci registri. Ini harus menyimpan nilai asli kunci di IDictionary. Jika penginstalan digulung balik, nilai asli dapat dipulihkan. Kedua, misalkan alat penginstal menggantikan file yang ada. Simpan file yang ada di direktori sementara dan lokasi lokasi baru file di IDictionary. Jika penginstalan digulung balik, file yang lebih baru akan dihapus dan digantikan oleh yang asli dari lokasi sementara.

Properti Installer.Context berisi informasi tentang penginstalan. Misalnya, informasi tentang lokasi file log untuk penginstalan, lokasi file untuk menyimpan informasi yang diperlukan oleh Uninstall metode , dan baris perintah yang dimasukkan ketika instalasi dapat dieksekusi dijalankan.

Konstruktor

Installer()

Menginisialisasi instans baru kelas Installer.

Properti

CanRaiseEvents

Mendapatkan nilai yang menunjukkan apakah komponen dapat menaikkan peristiwa.

(Diperoleh dari Component)
Container

IContainer Mendapatkan yang berisi Component.

(Diperoleh dari Component)
Context

Mendapatkan atau mengatur informasi tentang penginstalan saat ini.

DesignMode

Mendapatkan nilai yang menunjukkan apakah Component saat ini dalam mode desain.

(Diperoleh dari Component)
Events

Mendapatkan daftar penanganan aktivitas yang dilampirkan ke ini Component.

(Diperoleh dari Component)
HelpText

Mendapatkan teks bantuan untuk semua alat penginstal dalam koleksi alat penginstal.

Installers

Mendapatkan koleksi alat penginstal yang dikandung alat penginstal ini.

Parent

Mendapatkan atau mengatur alat penginstal yang berisi koleksi tempat penginstal ini berada.

Site

Mendapatkan atau mengatur ISite dari Component.

(Diperoleh dari Component)

Metode

Commit(IDictionary)

Ketika ditimpa di kelas turunan, menyelesaikan transaksi penginstalan.

CreateObjRef(Type)

Membuat objek yang berisi semua informasi relevan yang diperlukan untuk menghasilkan proksi yang digunakan untuk berkomunikasi dengan objek jarak jauh.

(Diperoleh dari MarshalByRefObject)
Dispose()

Merilis semua sumber daya yang Componentdigunakan oleh .

(Diperoleh dari Component)
Dispose(Boolean)

Merilis sumber daya tidak terkelola yang Component digunakan oleh dan secara opsional merilis sumber daya terkelola.

(Diperoleh dari Component)
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetLifetimeService()
Kedaluwarsa.

Mengambil objek layanan seumur hidup saat ini yang mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
GetService(Type)

Mengembalikan objek yang mewakili layanan yang disediakan oleh Component atau oleh Container.

(Diperoleh dari Component)
GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
InitializeLifetimeService()
Kedaluwarsa.

Mendapatkan objek layanan seumur hidup untuk mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
Install(IDictionary)

Ketika ditimpa di kelas turunan, lakukan penginstalan.

MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
MemberwiseClone(Boolean)

Membuat salinan dangkal objek saat ini MarshalByRefObject .

(Diperoleh dari MarshalByRefObject)
OnAfterInstall(IDictionary)

Memunculkan kejadian AfterInstall.

OnAfterRollback(IDictionary)

Memunculkan kejadian AfterRollback.

OnAfterUninstall(IDictionary)

Memunculkan kejadian AfterUninstall.

OnBeforeInstall(IDictionary)

Memunculkan kejadian BeforeInstall.

OnBeforeRollback(IDictionary)

Memunculkan kejadian BeforeRollback.

OnBeforeUninstall(IDictionary)

Memunculkan kejadian BeforeUninstall.

OnCommitted(IDictionary)

Memunculkan kejadian Committed.

OnCommitting(IDictionary)

Memunculkan kejadian Committing.

Rollback(IDictionary)

Ketika ditimpa di kelas turunan, memulihkan status pra-instalasi komputer.

ToString()

Mengembalikan yang String berisi nama Component, jika ada. Metode ini tidak boleh ditimpa.

(Diperoleh dari Component)
Uninstall(IDictionary)

Saat ditimpa di kelas turunan, akan menghapus penginstalan.

Acara

AfterInstall

Terjadi setelah Install(IDictionary) metode semua alat penginstal di Installers properti telah berjalan.

AfterRollback

Terjadi setelah penginstalan semua alat penginstal di Installers properti digulung balik.

AfterUninstall

Terjadi setelah semua alat penginstal di Installers properti melakukan operasi penghapusan instalasi mereka.

BeforeInstall

Terjadi sebelum Install(IDictionary) metode setiap alat penginstal dalam koleksi alat penginstal telah berjalan.

BeforeRollback

Terjadi sebelum alat penginstal di Installers properti digulung balik.

BeforeUninstall

Terjadi sebelum alat penginstal di Installers properti melakukan operasi penghapusan instalasinya.

Committed

Terjadi setelah semua alat penginstal di Installers properti telah melakukan penginstalan mereka.

Committing

Terjadi sebelum alat penginstal di Installers properti melakukan penginstalan mereka.

Disposed

Terjadi ketika komponen dibuang oleh panggilan ke Dispose() metode .

(Diperoleh dari Component)

Berlaku untuk

Lihat juga