C является моим фаворитом, но это также ужасно.
Решением было дать "Сеть Учетная запись службы "разрешение на чтение журнала событий / ключа безопасности.
Я не работаю над IIS, но у меня есть приложение, которое выдает ту же ошибку в окне 2K8. Он отлично работает на приставке 2K3, поймите.
Моим решением было «Запускать от имени администратора», чтобы дать приложению повышенные права, и все работает нормально. Я надеюсь, что это поможет вам в правильном направлении.
Windows 2008 - права / разрешения / повышение прав действительно отличается от Windows 2003, gar.
Для меня сработало только разрешение «Чтение» для «NetworkService» для всей ветки «EventLog» .
Чтобы предоставить сетевой службе
разрешение на чтение для ключа EventLog / Security
(как было предложено Firenzi и royrules22), следуйте инструкциям из http: //geekswithblogs.net/timh/archive/2005/10/05/56029.aspx
Пуск
, затем Выполнить
regedt32
или regedit
Перейдите / разверните к следующему ключу:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Eventlog \ Security
Щелкните правой кнопкой мыши по этой записи и выберите Разрешения
Добавьте пользователя Network Service
Дайте ему разрешение на чтение
ОБНОВЛЕНИЕ: Шаги, указанные выше подходят для машин разработчиков, где вы не используете процесс развертывания для установки приложения.
Однако, если вы развертываете свое приложение на другой машине (ах), подумайте о том, чтобы зарегистрировать источники журнала событий во время установки , как предлагается в ответах SailAvid и Николь Калиною .
Я использую функцию PowerShell (вызываю в Octopus Deploy.ps1)
function Create-EventSources() {
$eventSources = @("MySource1","MySource2" )
foreach ($source in $eventSources) {
if ([System.Diagnostics.EventLog]::SourceExists($source) -eq $false) {
[System.Diagnostics.EventLog]::CreateEventSource($source, "Application")
}
}
}