Installer Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zapewnia podstawę instalacji niestandardowych.
public ref class Installer : System::ComponentModel::Component
public class Installer : System.ComponentModel.Component
type Installer = class
inherit Component
Public Class Installer
Inherits Component
- Dziedziczenie
- Pochodne
Przykłady
W poniższym przykładzie pokazano użycie Installer klasy . Tworzy klasę dziedziczą z Installerklasy . Gdy Commit zostanie ukończone, Committing wystąpi zdarzenie i zostanie wyświetlony komunikat. Aby użyć Installer klasy , należy odwołać się do zestawu System.Configuration.Install w projekcie.
#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
Uwagi
Jest to klasa bazowa dla wszystkich instalatorów niestandardowych w programie .NET Framework. Instalatory to składniki, które ułatwiają instalowanie aplikacji na komputerze.
Istnieje kilka kroków, które należy wykonać, aby użyć elementu Installer:
Dziedzicz klasę Installer .
Dodaj element RunInstallerAttribute do klasy pochodnej i ustaw go na
true
wartość .Umieść klasę pochodną w zestawie z aplikacją, aby ją zainstalować.
Wywołaj instalatory. Na przykład użyj InstallUtil.exe, aby wywołać instalatory.
Właściwość Installers zawiera kolekcję instalatorów. Jeśli to wystąpienie Installer programu jest częścią kolekcji instalatora, Parent właściwość jest ustawiona na Installer wystąpienie zawierające kolekcję. Aby zapoznać się z przykładem użycia Installers kolekcji, zobacz klasę AssemblyInstaller .
Metody InstallInstaller , Commit, Rollbacki Uninstall klasy przechodzą przez kolekcję instalatorów przechowywanych we Installers właściwości i wywołuje odpowiednią metodę każdego instalatora.
InstallMetody , , RollbackCommiti Uninstall nie zawsze są wywoływane w tym samym Installer wystąpieniu. Na przykład jedno Installer wystąpienie może być używane podczas instalowania i zatwierdzania aplikacji, a następnie zwalniane jest odwołanie do tego wystąpienia. Później odinstalowanie aplikacji powoduje utworzenie odwołania do nowego Installer wystąpienia, co oznacza, że Uninstall metoda jest wywoływana przez inne wystąpienie klasy Installer. Z tego powodu w klasie pochodnej nie zapisuj stanu komputera w instalatorze. Zamiast tego należy użyć elementu IDictionary , który jest zachowywany między wywołaniami i przekazywany do metod Install, Commit, Rollbacki Uninstall .
Dwie sytuacje ilustrują konieczność zapisywania informacji w module zapisywania IDictionarystanu . Najpierw załóżmy, że instalator ustawia klucz rejestru. Powinna ona zapisać oryginalną wartość klucza w pliku IDictionary. Jeśli instalacja zostanie wycofana, można przywrócić oryginalną wartość. Następnie załóżmy, że instalator zastępuje istniejący plik. Zapisz istniejący plik w katalogu tymczasowym i lokalizację nowej lokalizacji pliku w pliku IDictionary. Jeśli instalacja zostanie wycofana, nowszy plik zostanie usunięty i zastąpiony przez oryginał z lokalizacji tymczasowej.
Właściwość Installer.Context zawiera informacje o instalacji. Na przykład informacje o lokalizacji pliku dziennika instalacji, lokalizacji pliku w celu zapisania informacji wymaganych przez Uninstall metodę oraz wiersza polecenia wprowadzonego podczas uruchamiania pliku wykonywalnego instalacji.
Konstruktory
Installer() |
Inicjuje nowe wystąpienie klasy Installer. |
Właściwości
CanRaiseEvents |
Pobiera wartość wskazującą, czy składnik może zgłosić zdarzenie. (Odziedziczone po Component) |
Container |
Pobiera element IContainer zawierający element Component. (Odziedziczone po Component) |
Context |
Pobiera lub ustawia informacje o bieżącej instalacji. |
DesignMode |
Pobiera wartość wskazującą, czy Component element jest obecnie w trybie projektowania. (Odziedziczone po Component) |
Events |
Pobiera listę programów obsługi zdarzeń dołączonych do tego Componentelementu . (Odziedziczone po Component) |
HelpText |
Pobiera tekst pomocy dla wszystkich instalatorów w kolekcji instalatora. |
Installers |
Pobiera kolekcję instalatorów, które zawiera ten instalator. |
Parent |
Pobiera lub ustawia instalator zawierający kolekcję, do których należy ten instalator. |
Site |
Pobiera lub ustawia wartość ISite .Component (Odziedziczone po Component) |
Metody
Commit(IDictionary) |
Po zastąpieniu w klasie pochodnej, kończy transakcję instalacji. |
CreateObjRef(Type) |
Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym. (Odziedziczone po MarshalByRefObject) |
Dispose() |
Zwalnia wszelkie zasoby używane przez element Component. (Odziedziczone po Component) |
Dispose(Boolean) |
Zwalnia zasoby niezarządzane używane przez element Component i opcjonalnie zwalnia zasoby zarządzane. (Odziedziczone po Component) |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetLifetimeService() |
Przestarzałe.
Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia. (Odziedziczone po MarshalByRefObject) |
GetService(Type) |
Zwraca obiekt, który reprezentuje usługę dostarczaną przez Component obiekt lub przez element Container. (Odziedziczone po Component) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
InitializeLifetimeService() |
Przestarzałe.
Uzyskuje obiekt usługi okresu istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia. (Odziedziczone po MarshalByRefObject) |
Install(IDictionary) |
Podczas zastępowania w klasie pochodnej program wykonuje instalację. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
MemberwiseClone(Boolean) |
Tworzy płytkią kopię bieżącego MarshalByRefObject obiektu. (Odziedziczone po MarshalByRefObject) |
OnAfterInstall(IDictionary) |
AfterInstall Zgłasza zdarzenie. |
OnAfterRollback(IDictionary) |
AfterRollback Zgłasza zdarzenie. |
OnAfterUninstall(IDictionary) |
AfterUninstall Zgłasza zdarzenie. |
OnBeforeInstall(IDictionary) |
BeforeInstall Zgłasza zdarzenie. |
OnBeforeRollback(IDictionary) |
BeforeRollback Zgłasza zdarzenie. |
OnBeforeUninstall(IDictionary) |
BeforeUninstall Zgłasza zdarzenie. |
OnCommitted(IDictionary) |
Committed Zgłasza zdarzenie. |
OnCommitting(IDictionary) |
Committing Zgłasza zdarzenie. |
Rollback(IDictionary) |
Po zastąpieniu w klasie pochodnej przywraca stan przed instalacją komputera. |
ToString() |
Zwraca wartość String zawierającą nazwę Componentobiektu , jeśli istnieje. Ta metoda nie powinna być zastępowana. (Odziedziczone po Component) |
Uninstall(IDictionary) |
Po przesłonięciu w klasie pochodnej program usuwa instalację. |
Zdarzenia
AfterInstall |
Występuje po uruchomieniu Install(IDictionary) metod wszystkich instalatorów we Installers właściwości . |
AfterRollback |
Występuje po wycofaniu instalacji wszystkich instalatorów we Installers właściwości. |
AfterUninstall |
Występuje po wykonaniu Installers operacji dezinstalacji przez wszystkich instalatorów we właściwości. |
BeforeInstall |
Występuje przed uruchomieniem Install(IDictionary) metody każdego instalatora w kolekcji instalatora. |
BeforeRollback |
Występuje przed wycofaniem instalatorów we Installers właściwości. |
BeforeUninstall |
Występuje przed wykonaniem operacji dezinstalacji przez instalatorów we Installers właściwości. |
Committed |
Występuje po zatwierdzeniu instalacji przez wszystkich instalatorów we Installers właściwości. |
Committing |
Występuje przed zatwierdzeniem instalacji przez instalatorów we Installers właściwości. |
Disposed |
Występuje, gdy składnik jest usuwany przez wywołanie Dispose() metody . (Odziedziczone po Component) |