Ist ein Windows-Dienst global installiert?

Ist ein Windows-Dienst global installiert?

Ich habe einen einfachen C#-Windows-Dienst codiert. Wenn er mit installiert wird installutil, ist der Dienst dann für alle Benutzer des Systems verfügbar?

Unter welchem ​​Konto muss der Dienst bei einem Server-Betriebssystem installiert werden, damit er beim Hochfahren des Servers automatisch gestartet wird?

Bitte bringen Sie Licht ins Dunkel.

Antwort1

Ja. Gewöhnliche Windows-Dienste sind grundsätzlich global; es macht keinen Unterschied, welches Konto zur Installation des Dienstes verwendet wurde. Soweit ich weiß, zeichnet Windows diese Informationen nicht einmal auf.

Sie benötigen Administratorrechte, um einen Dienst zu installieren.

Um einen Dienst so zu konfigurieren, dass er automatisch mit Windows gestartet wird, konfigurieren Sie den Dienststarttyp entsprechend. Siehe Schritt 5 inVorgehensweise: Fügen Sie Ihrer Serviceanwendung Installer hinzu.

Nachtrag:Wenn der Dienst in einem Domänenkonto ausgeführt wird, kann es in manchen Situationen erforderlich sein, den Dienst für einen verzögerten Start zu konfigurieren. Diese Antworterklärt, wie das in .NET geht. Wenn der Dienst beim manuellen Start normal läuft, aber beim automatischen Start Fehler vom Typ „ungültiger Benutzername oder ungültiges Passwort“ generiert, kann es hilfreich sein, ihn für einen verzögerten Start zu konfigurieren. Ich bin mir noch nicht sicher, was die zugrunde liegende Ursache des Problems ist.

(Wenn ein Dienst den Typ SERVICE_USER_OWN_PROCESSoder verwendet SERVICE_USER_SHARE_PROCESS, gibt es separate Instanzen des Dienstes für jeden angemeldeten Benutzer, und das Verhalten dieser Art von Dienst scheint nicht richtig dokumentiert zu sein. Ich glaube jedoch, dass die Antwort dieselbe ist: Die Installation ist immer noch global und es macht immer noch keinen Unterschied, welches Konto den Dienst installiert.)

verwandte Informationen