Регистрация событий в C # на Windows 7/2008 Server - PullRequest
6 голосов
/ 16 июля 2010

Я пытаюсь создать журнал событий для моего приложения cmd line.Однако я получаю эту ошибку, когда он пытается создать журнал в первый раз.

Источник не найден, но не удалось найти некоторые или все журналы событий.Недоступные журналы: Безопасность.

Итак, я обнаружил, что это из-за Windows 7 и некоторой новой безопасности.Поэтому сейчас я должен предоставить права администратора .exe.

Есть ли способ обойти это, чтобы ему не требовались права администратора?Я не знаю, будут ли люди чувствовать себя слишком хорошо, если они будут вынуждены запускать мое приложение с правами администратора.

Я планирую позже установить это на машину с Windows 2008, так что я предполагаю, что она будет страдать от той же проблемы.

Ответы [ 2 ]

3 голосов
/ 16 июля 2010

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

Помимо функции CreateEventSource, существует также класс EventLogInstaller:

http://msdn.microsoft.com/en-us/library/system.diagnostics.eventloginstaller.aspx

WiX также предлагает эту функцию в своем расширении служебной программы:

Как создать источник журнала событий с помощью WiX

1 голос
/ 16 июля 2010

СЕТЬ СЕРВИС ИЛИ Олицетворенный пользователь должен иметь доступ на чтение / запись к HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ EventLog \ Security

...