C# 创建自定义事件日志(安全错误)

C# 创建自定义事件日志(安全错误),c#,security,windows-services,event-log,C#,Security,Windows Services,Event Log,我正在尝试使用以下代码创建自己的自定义事件日志: if (!System.Diagnostics.EventLog.SourceExists("DataStream")) { EventLog.CreateEventSource("DataStream", "SIRsDetectionDataStreamLog"); } logger = new EventLog();

我正在尝试使用以下代码创建自己的自定义事件日志:

 if (!System.Diagnostics.EventLog.SourceExists("DataStream"))
            {
                EventLog.CreateEventSource("DataStream", "SIRsDetectionDataStreamLog");
            }
            logger = new EventLog();
            logger.Source = "DataStream";
但是,在检查源是否存在时,我不断收到一个安全错误。我得到的错误如下:

SecurityException was unhandled

An unhandled exception of type 'System.Security.SecurityException' occurred in System.dll

Additional information: The source was not found, but some or all event logs could not be searched.  Inaccessible logs: Security.

要创建事件源,您必须具有管理权限


必须搜索所有事件日志(包括安全日志),以确定事件源是否唯一。非管理用户没有访问安全日志的权限,因此引发SecurityException。

请阅读文档:<代码>安全异常:未找到源,但无法搜索部分或全部事件日志。即您需要成为管理员。考虑在安装服务时创建事件日志。您必须是管理员才能安装服务。您可以在服务安装程序中使用WiX组件或在MSI中使用WiX组件之类的东西来完成此操作。