2014-02-06 10 views
8

Ich versuche, einen einfachen Windows-Dienst basierend auf this walkthrough zu erstellen. Wenn ich versuche, den Befehl auszuführen:Kann Simple Windows Service nicht installieren - Login?

Es zeigt ein Dialogfeld mit Benutzername, Kennwort, Kennwort bestätigen. Nichts, was ich eingegeben habe, funktioniert und die Installation schlägt fehl. Welches Konto möchte es? Warum kann ich nicht alles verwenden, was ich eintippe? IIs es wegen der EventLog genehmigungsbedürftigen:

public partial class AlphaBackendService : ServiceBase 
{ 
     public AlphaBackendService() 
     { 
      InitializeComponent(); 
      if (!System.Diagnostics.EventLog.SourceExists("AlphaSource")) 
      { 
       System.Diagnostics.EventLog.CreateEventSource("AlphaSource", "AlphaLog"); 
      } 
      eventLog1.Source = "AlphaSource"; 
      eventLog1.Log = "AlphaLog"; 
     } 

     protected override void OnStart(string[] args) 
     { 
      eventLog1.WriteEntry("In OnStart"); 
     } 

     protected override void OnStop() 
     { 
      eventLog1.WriteEntry("In OnStop"); 
     } 
} 

enter image description here

+3

Bist du ein Admin auf der Maschine? Kannst du erhöht laufen? wenn nicht, das ist dein Problem – Jason

+1

Ich bin Admin auf meinem Rechner und ich führe den Befehl in einer erhöhten Dev-Befehlskonsole – user2471435

+0

bist du positiv? Können Sie einen Screenshot des Dialogfelds bereitstellen? – Jason

Antwort

20

Im Project, stellen Sie den propery Konto auf Localsystem (Von Designer) oder stellen Sie folgenden Code in InitializeComponent() -Methode

 this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.LocalSystem; 
+0

"ProjectInstaller.cs" sollte im selben Ordner wie das Projekt/Service sein (Hinzufügen des Kommentars seit es dauerte ich ein paar Minuten, um es zu finden) :) –

Verwandte Themen