2010-07-15 2 views
6

Я пытаюсь сделать регистратор событий для моего приложения линии cmd. Однако я получаю эту ошибку, когда она пытается создать журнал в первый раз.Регистрация событий на C# в Windows 7/2008 Server

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

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

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

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

ответ

3

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

Как и функции CreateEventSource есть также класс EventLogInstaller:

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

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

How do you create an event log source using WiX

+0

Как я могу сделать этот источник событий при установке? – chobo2

+0

Я обновил сообщение с дополнительной информацией – fletcher

+0

Итак, что я только что поставил и скажу, может быть, как установить? Тогда он просто устанавливает его, и это правда? – chobo2

1

NETWORK SERVICE ИЛИ олицетворение пользователя должен иметь доступ для чтения/записи к HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ EventLog \ Security

+0

Но тогда у меня был бы доступ к каждому eventLog? – chobo2

+0

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

Смежные вопросы