ServiceBase service-Fehler 193:0xc1 auf Windows XP
Habe ich einen Dienst, den ich aufgebaut habe mit dem C# ServiceBase-Klasse. Es funktioniert wenn ich es in Windows 7 und Windows Server 2008, aber es funktioniert nicht auf Windows XP.
Habe ich den service mit sc create PBUService binpath= "C:\PBULogger.exe"
. Dies ist der richtige Weg.
Nichts ist die Protokollierung in der Ereignisanzeige unter alles und mein exception-handling-code nicht feuern.
Ich dachte, dass ich vielleicht nicht die richtige .NET-version installiert, aber ich habe 4.0 installiert auf dem XP-Rechner. Allerdings habe ich das Projekt mit Visual Studio Express 2012, die ich bin mir ziemlich sicher, verwendet .NET 4.5 standardmäßig. Wird dies zu einem Problem führen? Alle Klassen, ich bin mit der version 4.0.
Habe ich zerlegt-alle meine code auf der Basis von Methoden-und dies immer noch nicht funktioniert. Hier ist mein code:
namespace PBULogger {
class PBULoggerService : ServiceBase {
protected override void OnStart(string[] args) {
try {
base.OnStart(args);
} catch (Exception ex) {
EmailUtility.sendEmail("Service Error", ex.Message + ex.StackTrace);
}
}
protected override void OnStop() {
base.OnStop();
}
}
Da es keine log in der Ereignisanzeige, es sagt mir, es ist nicht einmal versucht den Dienst zu starten.
Fand ich diese Einträge in meiner registry für den Dienst unter "HKEY_LOCAL_MACHINE/System/ControlSet001/Enum/Dienstleistungen/PBUService/Enum'.
Nicht wirklich sicher, was es bedeutet.
Weiß jemand was Los ist???
InformationsquelleAutor hacket | 2013-02-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie zusammengestellt haben, ist Ihre exe entweder für .Net 4.5 oder für 64-bit-Architektur (oder beides). Dies ist die Erklärung der Fehler-code, den Sie ausführen, in die von WinError.h:
Stellen Sie sicher, Sie haben es kompiliert für x86-Plattform oder eine Beliebige CPU und was für version von .Net-Framework kompiliert, ist auf der Maschine installiert ist.
InformationsquelleAutor seva titov
Fand ich das nach googeln Sie den windows-Dienst Fehler-Nummer:
*In der Regel die Fehlermeldung bedeutet, dass der service-manager konnte nicht finden, die genaue .exe-Pfad der Dienst ausgeführt wird. Manchmal ist der service installiert ist, aus einem Verzeichnis mit mehreren Worten für die Verzeichnis-Namen. Also den registry-Pfad auf den service gelegt werden muss, die mit doppelten Anführungszeichen.
Klicken Sie auf "Start" und geben Sie " services.msc " und drücken Sie die EINGABETASTE
Überprüfen Sie für den multimedia class scheduler und audio-Endpunkt builder service.
Überprüfen Sie den Pfad unter "Pfad zur EXE-Datei:" für die beiden Dienste. Notieren Sie sich die gleichen.
Auch ein Hinweis von der service-name für die beiden Dienste.
Die Dienstleistungen sind wie folgt:
AudioEndpointBuilder - AudioEndpointBuilder
Multimedia Class Scheduler MMCSS
Nun, prüfen wir, ob die Pfade unter diesen beiden Leistungen sind die gleichen wie auch in der Registrierung.
Klicken Sie auf "Start", geben Sie regedit ein und drücken Sie die EINGABETASTE
Suchen Sie den folgenden Schlüssel:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
Unter Dienste prüfen, für diese Leistungen: MMCSS und AudioEndpointBuilder.
Entsprechend den oben genannten zwei services, den Image-Pfad (auf der rechten Seite) sollte das gleiche sein, wie der Weg in ‘services.msc'*
Fand ich es hier
Aber, ich habe überprüfen Sie die gleichen Informationen für meinen Dienst in meiner registry und es ist da. Kein Unterschied.
Dieser kippte uns in die richtige Richtung, um unser problem zu lösen auf Windows 7: das service-Eintrag sah für den Dienst als
c:\program files (x86)\service\something.exe
aber die Maschine hatte tatsächlich einenc:\program
- Datei. Problem behoben, sobald die Datei gelöscht wurde.InformationsquelleAutor SASS_Shooter
In meinem Fall war dies wegen der Gebäude mit dem Ziel der 64-bit-Systeme. Ich vergaß, dass man von meinem test-Server läuft Server 2003 32-bit. Mein service läuft wunderbar auf 64-bit-Server-2008-R2-Feld.
InformationsquelleAutor Benjamin_FTW
Ich denke, dass es ein Kompatibilitäts-problem mit .net framework, die Sie verwenden, und windows server 2003.Tun Sie verwenden .net 4.5? Windows server 2003 nicht ausgeführt werden kann Anwendungen, die den Gegner net framework 4.5.
http://www.microsoft.com/visualstudio/eng/products/compatibility
Könnte man also ändern Sie Ihre Ziel-framework 4.0.
InformationsquelleAutor bhakti
In unserem Fall geschah dies nach einem server-crash und die exe-Datei bekam beschädigt. Wir re-implementiert, die Binärdateien und der Dienst erfolgreich gestartet wurde.
InformationsquelleAutor Kobus Smit