Требуется ли регистратору событий в C # права администратора для записи журналов в Windows Event Viewer? - PullRequest
8 голосов
/ 14 октября 2010

В своем приложении C # я использую класс EventLog для регистрации сообщений.Он отлично работает на моей машине, но не работает на клиентской машине.

Конфигурация клиентского компьютера отличается от конфигурации моего компьютера.На моем компьютере установлена ​​ОС Vista, в то время как на клиенте установлена ​​ОС Windows 2003.

У меня есть права администратора на моем компьютере, в то время как на клиентском компьютере мое приложение работает с правами не-администратора.

На клиентском компьютере я получаюошибка как Неисправное приложение, версия, неисправный модуль kernel32.dll

Мое приложение перестало зависать на клиентском компьютере, когда я закомментировал вызовы метода EventLog.WriteEntry () и начал записывать журналы в простой текстфайл.

Так что мне было просто интересно, нужны ли для регистрации событий права администратора или что?

Сведения об окружающей среде: C #, .net 2.0 framework, Windows Vista, сервер Windows 2003, Oracle

Ответы [ 2 ]

11 голосов
/ 14 октября 2010

Класс System.Diagnostics.EventLog в .NET Framework 3.5 @ MSDN :

При записи в журнал событий необходимо указать или создать источник события.Для создания нового источника события у вас должны быть права администратора.

4 голосов
/ 28 сентября 2011

Одним из решений является создание необходимого источника событий в установщике приложения, который работает с правами администратора. Смотри http://support.microsoft.com/default.aspx?scid=kb;EN-US;329291

...