В Windows, какие источники событий по умолчанию доступны в журнале событий приложений?
Укороченная версия:
Всегда ли источники событий "Приложение" и "Ошибка приложения" всегда включены в журнал событий приложения? Доступны ли они в новых установках Windows XP, Vista и Windows 7? Было бы очень плохо использовать их вместо создания моего собственного источника (для меня это невозможно)?
Длинная версия:
У меня есть приложение ClickOnce, которое используется пользователями без прав администратора на своих машинах.
Когда я пытаюсь записать в журнал событий заявок, я получаю исключение безопасности. (Инфраструктура ведения журнала событий Windows пытается создать новый источник событий и получает нарушение безопасности.)
Поэтому я хотел бы попробовать повторно использовать существующий источник событий. Я нашел только два "звучащих" источника в журнале событий приложений. Они всегда являются частью установки Windows и сделали бы разумный выбор?
Я уверен, что это осуждается, так как я должен различать свое приложение, используя собственный источник событий. Но это для нечастых фатальных ошибок, которые должны регистрироваться в другом месте моим кодом. Я просто хочу действительно легкое место, чтобы найти их на клиентской машине, если все пойдет не так...
1 ответ
Когда я пытаюсь записать в журнал событий заявок, я получаю исключение безопасности. (Инфраструктура ведения журнала событий Windows пытается создать новый источник событий и получает нарушение безопасности.)
Я только что ответил здесь: Использование Event Log в приложении ClickOnce
Поэтому я хотел бы попробовать повторно использовать существующий источник событий. Я нашел только два "звучащих" источника в журнале событий приложений. Они всегда являются частью установки Windows и сделали бы разумный выбор?
Это действительно не разумно делать это. Существующие источники событий будут использоваться либо приложениями Windows, либо сторонними приложениями. Если какой-либо из них будет удален или изменен чем-то вроде пакета обновления или исправления, ваша программа будет аварийно завершена, если вы не внедрили обработку исключений, чтобы обработать исключение изящно, но тогда у вас не будет никакой регистрации событий.
Также рассмотрите работу, которую вам, возможно, придется проделать для переноса приложения на следующую версию Windows. Я полагаю, вы будете делать удочку для своей спины.
В ответе, на который я ссылаюсь, я предложил лучший способ решения этой проблемы: установить приложение с помощью привилегий администратора с установщиком, создающим исходный код, или создать простое приложение, которое эффективно делает то же самое, используя роль администратора.
Единственное, что я могу предложить, это всегда запускать ваше приложение в режиме администратора.