我正在尝试为我的 cmd 行应用程序制作一个事件记录器。但是,当它第一次尝试创建日志时出现此错误。
The source was not found, but some or all event logs could not be searched. Inaccessible logs: Security.
所以我发现这是因为 Windows 7 和一些新的安全性。所以现在我必须授予 .exe 管理员权限。
有没有办法解决这个问题,这样它就不需要管理员权限了?我不知道如果人们必须以管理员权限心满意足地运行我的应用程序,他们是否会感觉太好了。
我打算稍后将其安装在 Windows 2008 机器上,所以我猜它会遇到同样的问题。
最佳答案
您可以在安装时创建事件源,这样他们只需要做出一次选择。一旦在注册表中创建了源,您就可以向其中添加事件,而无需管理员权限。
除了 CreateEventSource 函数之外,还有 EventLogInstaller 类:
http://msdn.microsoft.com/en-us/library/system.diagnostics.eventloginstaller.aspx
WiX 还在其实用程序扩展中提供了此功能:
关于c# - Windows 7/2008 服务器上 C# 中的事件日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3260563/