Freigeben über


ServiceInstaller.Install(IDictionary) Methode

Definition

Installiert den Dienst, indem Dienstanwendungsdaten in die Registrierung geschrieben werden. Diese Methode ist nur für die Verwendung durch Installationstools vorgesehen, 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

Ein IDictionary mit Kontextinformationen für die Installation.

Ausnahmen

Die Installation enthält keinen ServiceProcessInstaller 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 ist über 255 Zeichen lang.

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

- oder -

Ein Dienst mit diesem Namen ist bereits installiert.

Hinweise

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

Die Installationsroutine einer Anwendung verwaltet mithilfe des -Installationsprogramms Installer.Contextdes Projekts automatisch Informationen zu den Komponenten, die bereits installiert wurden. Diese Zustandsinformationen, die stateSaver als Parameter übergeben werdenInstall, werden kontinuierlich als ServiceProcessInstaller Instanz aktualisiert, und jede ServiceInstaller Instanz wird vom Hilfsprogramm installiert. In der Regel ist es nicht erforderlich, dass Ihr Code diese Zustandsinformationen explizit ändert.

Die ServiceProcessInstaller Ihrer Projektinstallationsklasse zugeordnete installiert Informationen, die für alle ServiceInstaller Instanzen im Projekt gemeinsam sind. Wenn dieser Dienst über etwas verfügt, das ihn von den anderen Diensten im Installationsprojekt trennt, werden diese dienstspezifischen Informationen durch diese 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 fest true. Erstellen Sie innerhalb Ihres Projekts eine ServiceProcessInstaller Instanz pro Dienstanwendung und eine ServiceInstaller Instanz für jeden Dienst in der Anwendung. Legen Sie in Ihrem Projektinstallationsprogrammklassenkonstruktor die Installationseigenschaften für den Dienst mithilfe der ServiceProcessInstaller -Instanz und ServiceInstaller fest, und fügen Sie die Instanzen der Installers Auflistung hinzu.

Hinweis

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

Für alle Klassen, die von der Installer -Klasse abgeleitet werden, muss der Zustand der Installers Auflistung in den Install Methoden und Uninstall identisch sein. Sie können jedoch die Wartung der Auflistung für die Install Methoden und Uninstall vermeiden, wenn Sie der Installers Auflistung in Ihrem benutzerdefinierten Installer-Klassenkonstruktor Installerinstanzen hinzufügen.

Gilt für:

Weitere Informationen