Share via


Vorgehensweise: Hinzufügen von Installern zur Dienstanwendung

Hinweis

Dieser Artikel gilt nicht für gehostete Dienste in .NET. Die neuesten Inhalte zu Windows-Diensten mit Microsoft.Extensions.Hosting.BackgroundService und die Workerdienstvorlage finden Sie unter:

Visual Studio liefert Installationskomponenten, mit denen Ihren Dienstanwendungen zugeordnete Ressourcen installiert werden können. Installationskomponenten registrieren einen einzelnen Dienst auf dem System, auf dem dieser installiert wird, und informieren den Dienststeuerungs-Manager über das Vorhandensein des Diensts. Bei der Arbeit mit einer Dienstanwendung können Sie im Fenster „Eigenschaften“ einen Link auswählen, damit die entsprechenden Installer für Ihr Projekt automatisch hinzugefügt werden.

Hinweis

Eigenschaftswerte für Ihren Dienst werden aus der Dienstklasse in die Klasse des Installers kopiert. Wenn Sie die Eigenschaftswerte in der Dienstklasse aktualisieren, werden sie nicht automatisch im Installer aktualisiert.

Wenn Sie einen Installer zu Ihrem Projekt hinzufügen, wird in dem Projekt eine neue Klasse erstellt (sie trägt standardmäßig den Namen ProjectInstaller), und in dieser Klasse werden Instanzen der entsprechenden Installationskomponenten erstellt. Diese Klasse fungiert als Mittelpunkt für sämtliche Installationspunkte, die für Ihr Projekt erforderlich sind. Wenn Sie beispielsweise einen zweiten Dienst zu Ihrer App hinzufügen und auf den Link „Installer hinzufügen“ klicken, wird keine zweite Installerklasse erstellt. Stattdessen wird die erforderliche zusätzliche Installationskomponente für den zweiten Dienst zur vorhandenen Klasse hinzugefügt.

Für eine ordnungsgemäße Installation Ihrer Dienste ist innerhalb der Installer keine besondere Codierung erforderlich. Sie müssen jedoch möglicherweise gelegentlich die Inhalte der Installer ändern, wenn Sie besondere Funktionen zum Installer hinzufügen müssen.

Hinweis

Je nach den aktiven Einstellungen oder der Version unterscheiden sich die Dialogfelder und Menübefehle auf Ihrem Bildschirm möglicherweise von den in der Hilfe beschriebenen. Klicken Sie im Menü Extras auf Einstellungen importieren und exportieren , um die Einstellungen zu ändern. Weitere Informationen finden Sie unter Personalisieren von Visual Studio-IDE.

Vorgehensweise beim Hinzufügen von Installern zu Ihrer Dienstanwendung

  1. Greifen Sie im Projektmappen-Explorer bei dem Dienst, für den Sie eine Installationskomponente hinzufügen möchten, auf die Ansicht Entwurf zu.

  2. Klicken Sie auf den Hintergrund des Designers, um den Dienst selbst auszuwählen, nicht Elemente seines Inhalts.

  3. Führen Sie einen Rechtsklick aus, während der Designer den Fokus hat, und klicken Sie anschließend auf Installer hinzufügen.

    Eine neue Klasse, ProjectInstaller, und zwei Installationskomponenten, ServiceProcessInstaller und ServiceInstaller, werden zu Ihrem Projekt hinzugefügt, und Eigenschaftswerte für den Dienst werden in die Komponenten kopiert.

  4. Klicken Sie auf die Komponente ServiceInstaller, und überprüfen Sie, ob der Wert der Eigenschaft ServiceName auf den gleichen Wert festgelegt ist wie der Wert der Eigenschaft ServiceName für den Dienst selbst.

  5. Klicken Sie auf die Komponente ServiceInstaller, und legen Sie die Eigenschaft StartType auf den entsprechenden Wert fest, um zu bestimmen, wie Ihr Dienst gestartet wird.

    Wert Ergebnis
    Manual Der Dienst muss nach der Installation manuell gestartet werden. Weitere Informationen finden Sie unter Vorgehensweise: Starten von Diensten.
    Automatic Der Dienst startet selbst, sobald der Computer neu gestartet wird.
    Disabled Der Dienst kann nicht gestartet werden.
  6. Klicken Sie auf die Komponente ServiceProcessInstaller, und legen Sie die entsprechenden Eigenschaftswerte fest, um den Sicherheitskontext zu bestimmen, in dem Ihr Dienst ausgeführt wird. Weitere Informationen finden Sie unter Vorgehensweise: Angeben des Sicherheitskontexts für Dienste.

  7. Setzen Sie alle Methoden außer Kraft, für die eine benutzerdefinierte Verarbeitung durchgeführt werden muss.

  8. Führen Sie für jeden weiteren Dienst in Ihrem Projekt die Schritte 1 bis 7 durch.

    Hinweis

    Sie müssen für jeden weiteren Dienst in Ihrem Projekt eine zusätzliche ServiceInstaller-Komponente für die Klasse ProjectInstaller des Projekts hinzufügen. Die in Schritt 3 hinzugefügte Komponente ServiceProcessInstaller kann mit allen Dienstinstallern im Projekt ausgeführt werden.

Siehe auch