ServiceInstaller.Install(IDictionary) Methode

Definition

Installiert den Dienst durch Schreiben von Dienstanwendungsinformationen in die Registrierung. Diese Methode soll von Installationstools verwendet werden, die die entsprechenden Methoden automatisch verarbeiten.

public:
 override void Install(System::Collections::IDictionary ^ stateSaver);
public override void Install(System.Collections.IDictionary stateSaver);
override this.Install : System.Collections.IDictionary -> unit
Public Overrides Sub Install (stateSaver As IDictionary)

Parameter

stateSaver
IDictionary

Eine IDictionary , die die Kontextinformationen enthält, die der Installation zugeordnet sind.

Ausnahmen

Die Installation enthält ServiceProcessInstaller keine Datei für die ausführbare Datei.

-oder-

Der Dateiname für die Assembly ist null oder eine leere Zeichenfolge.

-oder-

Der Dienstname ist ungültig.

-oder-

Der Dienststeuerungs-Manager konnte nicht geöffnet werden.

Der Anzeigename für den Dienst beträgt mehr als 255 Zeichen.

Das System konnte keinen Handle für den Dienst generieren.

-oder-

Ein Dienst mit diesem Namen ist bereits installiert.

Hinweise

Normalerweise rufen Sie die Methoden ServiceInstaller in Ihrem Code nicht auf. Sie werden in der Regel nur vom Installationshilfsprogramm aufgerufen. Das Installationsprogramm ruft die Methode während der Install Installation automatisch auf. Falls erforderlich, werden Fehler durch Aufrufen Rollback des Objekts, das die Ausnahme generiert hat, unterstützt.

Die Installationsroutine einer Anwendung verwaltet automatisch Informationen zu den Komponenten, die bereits installiert wurden, mithilfe des Projektinstallationsprogramms Installer.Context. Diese Statusinformationen, die als Parameter übergeben Install werden, werden kontinuierlich aktualisiert, während die stateSaver Instanz und jede ServiceProcessInstaller Instanz vom Dienstprogramm installiert ServiceInstaller wird. Normalerweise ist es nicht erforderlich, dass Ihr Code diese Zustandsinformationen explizit ändert.

Die ServiceProcessInstaller zugeordnete Projektinstallationsklasse installiert Informationen, die allen ServiceInstaller Instanzen im Projekt gemeinsam sind. Wenn dieser Dienst etwas aufweist, das ihn von den anderen Diensten im Installationsprojekt trennt, werden diese dienstspezifischen Informationen von dieser Methode installiert.

Um einen Dienst zu installieren, erstellen Sie eine Projektinstallationsprogrammklasse, die von der Installer Klasse erbt, und legen Sie das RunInstallerAttribute Attribut für die Klasse auf true. Erstellen Sie in Ihrem Projekt eine ServiceProcessInstaller Instanz pro Dienstanwendung und eine ServiceInstaller Instanz für jeden Dienst in der Anwendung. Legen Sie in Ihrem Project Installer-Klassenkonstruktor die Installationseigenschaften für den Dienst mithilfe der ServiceProcessInstaller Und ServiceInstaller Instanzen fest, und fügen Sie die Instanzen der Installers Auflistung hinzu.

Note

Es wird empfohlen, den Konstruktor zum Hinzufügen von Installationsinstanzen zu verwenden; Wenn Sie der Auflistung in der InstallersInstall Methode jedoch hinzufügen müssen, müssen Sie die gleichen Ergänzungen der Auflistung in der Uninstall Methode ausführen.

Für alle Klassen, die von der Installer Klasse abgeleitet werden, muss der Status der Installers Auflistung in den Install und Uninstall den Methoden identisch sein. Sie können jedoch die Wartung der Auflistung über die Install verschiedenen Methoden Uninstall hinweg vermeiden, wenn Sie der Installers Auflistung im Konstruktor der benutzerdefinierten Installer-Klasse Instanzen hinzufügen.

Gilt für:

Weitere Informationen