Benötigt der Ereignisprotokollierer in C # Administratorrechte zum Schreiben von Protokollen in die Windows-Ereignisanzeige?

8

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

    
Shekhar 14.10.2010, 06:08
quelle

2 Antworten

11

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.

    
Shoban 14.10.2010, 06:13
quelle
4

Eine Lösung besteht darin, die erforderliche Ereignisquelle in Ihrem Anwendungsprogramm zu erstellen, das mit Administratorrechten ausgeführt wird. Siehe Ссылка

    
Bo Christian Skjøtt 28.09.2011 08:45
quelle

Tags und Links