Installer Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Utgör grunden för anpassade installationer.
public ref class Installer : System::ComponentModel::Component
public class Installer : System.ComponentModel.Component
type Installer = class
inherit Component
Public Class Installer
Inherits Component
- Arv
- Härledda
Exempel
I följande exempel visas hur klassen används Installer . Den skapar en klass som ärver från Installer. När Commit är på väg att slutföras Committing inträffar händelsen och ett meddelande visas. Om du vill använda Installer klassen måste du referera till sammansättningen System.Configuration.Install i projektet.
#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
Kommentarer
Det här är basklassen för alla anpassade installationsprogram i .NET Framework. Installationsprogram är komponenter som hjälper dig att installera program på en dator.
Det finns flera steg som du måste följa för att använda en Installer:
Installer Ärver klassen.
Åsidosätt Installmetoderna , Commit, Rollbackoch Uninstall .
Lägg till i RunInstallerAttribute den härledda klassen och ange den till
true.Placera din härledda klass i sammansättningen med ditt program som ska installeras.
Anropa installationsprogrammet. Använd till exempel InstallUtil.exe för att anropa installationsprogrammet.
Egenskapen Installers innehåller en samling installationsprogram. Om den här instansen av Installer är en del av en installationssamling Parent anges egenskapen till den Installer instans som innehåller samlingen. Ett exempel på hur samlingen används Installers finns i AssemblyInstaller klassen .
Metoderna Install, Commit, Rollback, och Uninstall för Installer klassen går igenom samlingen med installationsprogram som lagras i Installers egenskapen och anropar motsvarande metod för varje installationsprogram.
Metoderna Install, Commit, Rollbackoch Uninstall anropas inte alltid på samma Installer instans. Till exempel kan en Installer instans användas när du installerar och genomför ett program, och sedan släpps referensen till den instansen. Senare skapar avinstallation av programmet en referens till en ny Installer instans, vilket innebär att Uninstall metoden anropas av en annan instans av Installer. Därför ska du i din härledda klass inte spara tillståndet för en dator i ett installationsprogram. Använd i stället en IDictionary som bevaras mellan anrop och skickas till metoderna Install, Commit, Rollbackoch Uninstall .
Två situationer visar behovet av att spara information i tillståndssparfunktionen IDictionary. Anta först att installationsprogrammet anger en registernyckel. Den bör spara nyckelns ursprungliga värde i IDictionary. Om installationen återställs kan det ursprungliga värdet återställas. För det andra antar vi att installationsprogrammet ersätter en befintlig fil. Spara den befintliga filen i en tillfällig katalog och platsen för den nya platsen för filen i IDictionary. Om installationen återställs tas den nyare filen bort och ersätts av originalet från den tillfälliga platsen.
Egenskapen Installer.Context innehåller information om installationen. Till exempel information om platsen för loggfilen för installationen, platsen för filen för att spara information som krävs av Uninstall metoden och kommandoraden som angavs när den körbara installationen kördes.
Konstruktorer
| Name | Description |
|---|---|
| Installer() |
Initierar en ny instans av Installer klassen. |
Egenskaper
| Name | Description |
|---|---|
| CanRaiseEvents |
Hämtar ett värde som anger om komponenten kan generera en händelse. (Ärvd från Component) |
| Container |
Hämtar som IContainer innehåller Component. (Ärvd från Component) |
| Context |
Hämtar eller anger information om den aktuella installationen. |
| DesignMode |
Hämtar ett värde som anger om det Component för närvarande är i designläge. (Ärvd från Component) |
| Events |
Hämtar listan över händelsehanterare som är kopplade till den här Component. (Ärvd från Component) |
| HelpText |
Hämtar hjälptexten för alla installationsprogram i installationssamlingen. |
| Installers |
Hämtar den samling installationsprogram som installationsprogrammet innehåller. |
| Parent |
Hämtar eller anger installationsprogrammet som innehåller den samling som installationsprogrammet tillhör. |
| Site |
Hämtar eller ställer in ISite i Component. (Ärvd från Component) |
Metoder
| Name | Description |
|---|---|
| Commit(IDictionary) |
När du åsidosättas i en härledd klass slutför du installationstransaktionen. |
| CreateObjRef(Type) |
Skapar ett objekt som innehåller all relevant information som krävs för att generera en proxy som används för att kommunicera med ett fjärrobjekt. (Ärvd från MarshalByRefObject) |
| Dispose() |
Släpper alla resurser som används av Component. (Ärvd från Component) |
| Dispose(Boolean) |
Släpper de ohanterade resurser som används av Component och släpper eventuellt de hanterade resurserna. (Ärvd från Component) |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetLifetimeService() |
Hämtar det aktuella livslängdstjänstobjektet som styr livslängdsprincipen för den här instansen. (Ärvd från MarshalByRefObject) |
| GetService(Type) |
Returnerar ett objekt som representerar en tjänst som tillhandahålls av Component eller av dess Container. (Ärvd från Component) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| InitializeLifetimeService() |
Hämtar ett tjänstobjekt för livslängd för att styra livslängdsprincipen för den här instansen. (Ärvd från MarshalByRefObject) |
| Install(IDictionary) |
När den åsidosättas i en härledd klass utför installationen. |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| MemberwiseClone(Boolean) |
Skapar en ytlig kopia av det aktuella MarshalByRefObject objektet. (Ärvd från MarshalByRefObject) |
| OnAfterInstall(IDictionary) |
Genererar händelsen AfterInstall . |
| OnAfterRollback(IDictionary) |
Genererar händelsen AfterRollback . |
| OnAfterUninstall(IDictionary) |
Genererar händelsen AfterUninstall . |
| OnBeforeInstall(IDictionary) |
Genererar händelsen BeforeInstall . |
| OnBeforeRollback(IDictionary) |
Genererar händelsen BeforeRollback . |
| OnBeforeUninstall(IDictionary) |
Genererar händelsen BeforeUninstall . |
| OnCommitted(IDictionary) |
Genererar händelsen Committed . |
| OnCommitting(IDictionary) |
Genererar händelsen Committing . |
| Rollback(IDictionary) |
När det åsidosättas i en härledd klass återställer datorns förinstallationstillstånd. |
| ToString() |
Returnerar ett String som innehåller namnet på Component, om det finns. Den här metoden bör inte åsidosättas. (Ärvd från Component) |
| Uninstall(IDictionary) |
När den åsidosättas i en härledd klass, tar bort en installation. |
Händelser
| Name | Description |
|---|---|
| AfterInstall |
Inträffar när metoderna för Install(IDictionary) alla installationsprogram i egenskapen Installers har körts. |
| AfterRollback |
Inträffar när installationerna av alla installationsprogram i Installers egenskapen har återställts. |
| AfterUninstall |
Inträffar när alla installationsprogram i egenskapen Installers utför sina avinstallationsåtgärder. |
| BeforeInstall |
Inträffar innan metoden för Install(IDictionary) varje installationsprogram i installationssamlingen har körts. |
| BeforeRollback |
Inträffar innan installationsprogrammet i egenskapen Installers återställs. |
| BeforeUninstall |
Inträffar innan installationsprogrammet i egenskapen Installers utför sina avinstallationsåtgärder. |
| Committed |
Inträffar när alla installationsprogram i Installers egenskapen har checkat in sina installationer. |
| Committing |
Inträffar innan installationsprogrammet i egenskapen Installers checkar in sina installationer. |
| Disposed |
Inträffar när komponenten tas bort av ett anrop till Dispose() metoden. (Ärvd från Component) |