Installer Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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 pengumpulan 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 menyimpan 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 penginstalan yang 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 penginstal dalam koleksi alat penginstal. |
Installers |
Mendapatkan kumpulan alat penginstal yang dikandung alat penginstal ini. |
Parent |
Mendapatkan atau mengatur alat penginstal yang berisi koleksi tempat alat 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 digunakan oleh Component 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 dari 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 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, menghapus penginstalan. |
Acara
AfterInstall |
Terjadi setelah Install(IDictionary) metode semua penginstal di Installers properti telah berjalan. |
AfterRollback |
Terjadi setelah penginstalan semua penginstal di Installers properti digulung balik. |
AfterUninstall |
Terjadi setelah semua 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 penginstal di Installers properti telah melakukan penginstalan mereka. |
Committing |
Terjadi sebelum penginstal di Installers properti melakukan penginstalan mereka. |
Disposed |
Terjadi ketika komponen dibuang oleh panggilan ke Dispose() metode . (Diperoleh dari Component) |