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

时间:2010-10-14 06:08:45

标签: logging windows-vista c#-2.0

在我的C#应用​​程序中,我使用EventLog类来记录消息。它在我的机器上工作得非常好,但在客户端机器上并不真正有用。

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

我的计算机拥有管理员权限,而在客户端计算机上,我的应用程序在非管理员用户优先级下运行。

在客户端计算机上,我收到错误为Faulting application , version ,faulting module kernel32.dll

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

所以我只是想知道事件记录是否需要管理员权限或者什么?

环境详细信息:C#,。net 2.0框架,Windows Vista,Windows 2003服务器,Oracle

2 个答案:

答案 0 :(得分:11)

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

  

如果您写入事件日志,则必须   指定或创建事件源。您   必须拥有管理权   计算机来创建一个新的事件源。

答案 1 :(得分:4)

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