In meiner C # -Anwendung verwende ich die EventLog-Klasse zum Protokollieren von Nachrichten. Es funktioniert einwandfrei auf meinem Rechner, funktioniert aber nicht wirklich auf dem Client-Rechner.
Client-Computer-Konfiguration unterscheidet sich von meinem Computer. Meine Maschine hat Vista OS, während Client Windows 2003 OS hat.
Ich habe Admin-Rechte auf meinem Computer, während auf dem Client-Computer meine Anwendung unter Nicht-Admin-Benutzervorgaben ausgeführt wird.
Auf dem Client-Rechner erhalte ich den Fehler Fehlgeschlagene Anwendung , Version, fehlerhaftes Modul kernel32.dll
Meine Anwendung stoppte auf dem Client-Rechner nicht mehr, als ich EventLog.WriteEntry () -Methodenaufrufe auskommentierte und mit dem Schreiben von Protokollen in eine einfache Textdatei begann.
Ich habe mich also gefragt, ob die Ereignisprotokollierung Administratorrechte benötigt oder was?
Umgebungsdetails: C #, .net 2.0 Framework, Windows Vista, Windows 2003 Server, Oracle
System.Diagnostics.EventLog-Klasse in .NET Framework 3.5 @ MSDN :
Wenn Sie in ein Ereignisprotokoll schreiben, müssen Sie Geben Sie eine Ereignisquelle an oder erstellen Sie sie. Sie muss administrative Rechte an der Computer zum Erstellen einer neuen Ereignisquelle.
Eine Lösung besteht darin, die erforderliche Ereignisquelle in Ihrem Anwendungsprogramm zu erstellen, das mit Administratorrechten ausgeführt wird. Siehe Ссылка
Tags und Links logging windows-vista c#-2.0