我需要将我的c#应用程序异常记录到Windows事件日志中。至于,我用Google搜索并发现Windows服务为我动态创建事件源。在这里,我需要知道如何在没有任何管理员权限的情况下专门访问该事件源以记录我的数据。
答案 0 :(得分:0)
documentation非常明确,您需要成为管理员才能创建新的EventSource:
在Windows Vista及更高版本或Windows Server中创建事件源 2003年,您必须具有管理权限。原因就在于此 要求是所有事件日志,包括安全性,必须是 搜索以确定事件源是否是唯一的。开始 在Windows Vista中,用户无权访问 安全日志;因此,抛出SecurityException。
建议(在同一页面的下方)是在安装应用程序时创建EventSource:
在安装期间创建新的事件源 应用。这样可以让操作系统有时间刷新它 已注册事件源列表及其配置。如果 操作系统没有刷新它的事件源列表,而你 尝试使用新源写入一个事件,即写操作 将失败。您可以使用EventLogInstaller配置新源, 或使用CreateEventSource方法。你必须有行政权力 计算机上创建新事件源的权利。