0

用 C# 语言写入事件查看器时如何更改源名称?

目前有这个

字符串 cs = "应用程序";

            if (!EventLog.SourceExists(cs))
            EventLog.CreateEventSource(cs, "ReceiveDaily");
            EventLog.WriteEntry(cs, message.Message, EventLogEntryType.Error);

如果我将 CS 更改为其他任何内容,我会在我的事件查看器中看到一个 Security-Kerberos (0x7) 弹出当我输入“应用程序”时它会在错误日志中写入错误。但是来源是“应用程序”,这不是一个很好的描述它的来源......

提前致谢。

4

2 回答 2

1

您需要在管理员模式下运行您的应用程序。

您可以在资源管理器中通过右键单击您的应用并选择“以管理员身份运行”来执行此操作。

或者,您可以将清单添加到您的应用程序,以便它在运行时自动请求管理员权限。

最后一个(从安全角度来看也是最糟糕的)选项是通过控制面板禁用 UAC。

于 2012-03-07T12:44:51.940 回答
1

正如@Phil 提到的,我认为除非您在管理员模式下运行,否则您不能动态创建事件源。

System.Diagnostics.EventLogInstaller但是,如果您知道应用程序需要的源集,则可以使用和预安装它们InstallUtil.exe。然后,这些源将可供您的应用程序使用。

是设置安装程序的一个很好的例子。

于 2012-03-07T12:51:26.057 回答