代码之家  ›  专栏  ›  技术社区  ›  Shekhar

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

  •  8
  • Shekhar  · 技术社区  · 15 年前

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

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

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

    在客户机上,我得到错误为 Faulting application , version ,faulting module kernel32.dll

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

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

    环境详细信息:C,.NET 2.0框架,Windows Vista,Windows 2003 Server,Oracle

    2 回复  |  直到 10 年前
        1
  •  11
  •   Palec    10 年前

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

    如果写入事件日志,则必须 指定或创建事件源。你 必须对 创建新事件源的计算机。

        2
  •  4
  •   Bo Christian Skjøtt    14 年前

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

    推荐文章