首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#中的事件记录器是否需要管理员权限才能将日志写入Windows事件查看器?

问C#中的事件记录器是否需要管理员权限才能将日志写入Windows事件查看器?
EN

Stack Overflow用户
提问于 2010-10-14 14:08:45
回答 2查看 9.7K关注 0票数 9

在我的C#应用程序中,我使用EventLog类来记录消息。它在我的机器上运行得很好,但在客户机上却不能真正工作。

客户端计算机配置与我的计算机不同。我的机器使用的是Vista操作系统,而客户端使用的是Windows 2003操作系统。

我在我的机器上有管理员权限,而在客户机上,我的应用程序在非管理员用户权限下运行。

在客户机上,我以Faulting application , version ,faulting module kernel32.dll身份收到错误

当我注释掉EventLog.WriteEntry()方法调用并开始将日志写入简单的文本文件时,我的应用程序在客户机上停止崩溃。

所以我想知道事件日志记录是否需要管理员权限或其他什么?

环境详细信息: C#、Oracle 2.0框架、Windows Vista、Windows2003服务器、.net

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-14 14:13:40

System.Diagnostics.EventLog class in .NET Framework 3.5 @ MSDN

如果写入事件日志,则必须指定或创建事件源。您必须对计算机具有管理权限才能创建新的事件源。

..。

如果与EventLog实例关联的事件日志的事件源不存在,则会创建一个新的事件源。若要在Windows Vista及更高版本或Windows Server2003中创建事件源,您必须具有管理凭据。

这是因为必须搜索包括安全日志在内的所有事件日志,以确定事件源是否唯一。从Windows Vista开始,用户没有访问安全日志的权限;因此会抛出SecurityException。

票数 13
EN

Stack Overflow用户

发布于 2011-09-28 16:45:34

一种解决方案是在应用程序安装程序中创建所需的事件源,该安装程序以管理员权限运行。请参阅http://support.microsoft.com/default.aspx?scid=kb;EN-US;329291

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3930529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档