Windows-Dienst ausführen -> "Systemfehler 5 aufgetreten. Zugriff verweigert"

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von vb.net_New.

    Windows-Dienst ausführen -> "Systemfehler 5 aufgetreten. Zugriff verweigert"

    Hallo,

    ich mach ein Tutorial durch ( mycsharp.de/wbb2/thread.php?threadid=18902 ). Dazu habe ich in Visual Studio ein "Windows-Dienst"-Projekt erstellt, kompiliert und installiert (Admin-Console!). Beim Starten des Services wird der Fehler "Systemfehler 5 aufgetreten. Zugriff verweigert" geworfen.
    Debugging hat gezeigt, dass nicht in onStart oder onStop rein gegangen wird. Im Unterschied hat der Originalcode auch eine-Main Methode. Ich wüsste nicht, wie ich das aber in dem Projekt umsetzen soll (Sub Main wäre doch falsch?).

    Hat jemand eine Lösung?

    Installieren:
    '"C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe" "C:\Users\001\source\repos\WindowsService1\WindowsService1\bin\Release\WindowsService1.exe"

    Service starten:
    net start Faxdienst

    Service löschen:
    sc delete Faxdienst


    VB.NET-Quellcode

    1. Imports System.ComponentModel
    2. Imports System.Configuration.Install
    3. Imports System.ServiceProcess
    4. Public Class Service1
    5. Inherits ServiceBase
    6. Protected Overrides Sub OnStart(ByVal args() As String)
    7. End Sub
    8. Protected Overrides Sub OnStop()
    9. End Sub
    10. End Class
    11. <RunInstaller(True)>
    12. Public Class TestWinInstaller
    13. Inherits Installer
    14. Private m_ThisService As ServiceInstaller
    15. Private m_ThisServiceProcess As ServiceProcessInstaller
    16. Public Sub New() 'generell wird hier rein gegangen & fehlerfrei ausgeführt
    17. Try
    18. m_ThisService = New ServiceInstaller()
    19. m_ThisServiceProcess = New ServiceProcessInstaller()
    20. m_ThisServiceProcess.Account = ServiceAccount.NetworkService
    21. m_ThisService.ServiceName = "Faxdienst"
    22. m_ThisService.StartType = ServiceStartMode.Manual
    23. Installers.Add(m_ThisService)
    24. Installers.Add(m_ThisServiceProcess)
    25. Catch ex As Exception
    26. Dim file As System.IO.StreamWriter
    27. file = My.Computer.FileSystem.OpenTextFileWriter("c:\tmp2\test.txt", True)
    28. file.WriteLine(ex.StackTrace)
    29. file.Close()
    30. End Try
    31. End Sub
    32. End Class

    vb.net_New schrieb:

    Beim Starten des Services wird der Fehler "Systemfehler 5 aufgetreten. Zugriff verweigert" geworfen.
    In welcher Programmzeile?
    Was steht im StackTrace?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @vb.net_New Dann mach Dir nen Log, indem Du nach jeder Programmzeile die abgearbeitete Zeile in eine Log-Datei protokollierst.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich hatte schon alles mit Debugging probiert. Nur lässt sich der Fehler so nicht rausfinden.

    Die Lösung ist gewesen den Dienst auf "Lokales Systemkonto" zu stellen. Ebenso habe ich mal auf "ServiceAccount.LocalService" umgestellt.
    Bilder
    • loesung.PNG

      9,96 kB, 406×468, 83 mal angesehen