c# - Windows 7/2008 服务器上 C# 中的事件日志记录

标签 c# windows-7 windows-server-2008 event-log

我正在尝试为我的 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 还在其实用程序扩展中提供了此功能:

How do you create an event log source using WiX

关于c# - Windows 7/2008 服务器上 C# 中的事件日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3260563/

相关文章:

asp.net 2.0 全局主题无法在新的 Windows Server 2008 上运行

c# - WPF ListView 虚拟化。如何禁用 ListView 虚拟化?

windows-server-2008 - 在多台服务器上共享的用户 CAL

c# - 如果在单独的方法中调用,为什么 Parallel.Invoke 会快得多?

windows - 符号链接(symbolic link)限制 - Windows

c# - 在 Windows 7 上查询 win32_NetworkConnection 很慢

perl - @ARGV 在 Windows 7 中使用 ActivePerl 为空

javascript - 通过javascript获取特定的Windows版本

c# - .NET Core 应用程序中的 ConfigurationManager

c# - DirectoryInfo.EnumerateFiles(...) 导致 UnauthorizedAccessException(和其他异常)