从Windows 8.1写入EventLog,消息“无法找到来自源的事件ID 0的描述”。

时间:2013-10-24 11:47:50

标签: c# events windows-8.1

我在Windows 8.1版本6.3.9600上运行它 我真的需要一些帮助写入事件日志的最基本的简单应用程序。这是我的代码:

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            EventLog.WriteEntry("Testing Application", "Testing data", EventLogEntryType.Information, 100);
        }
    }
}

执行后我得到一个例外说: 未找到源,但无法搜索部分或全部事件日志。要创建源,您需要具有读取所有事件日志的权限,以确保新源名称是唯一的。无法访问的日志:安全性。

但是如果我添加注册表项 HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ EventLog \ Application \ Testing Application 并使用数据 7添加值 TypesSupported 然后没有异常,但事件条目显示所有这些:

无法找到源测试应用程序中的事件ID 100的描述。引发此事件的组件未安装在本地计算机上,或者安装已损坏。您可以在本地计算机上安装或修复组件。

如果事件源自另一台计算机,则显示信息必须与事件一起保存。

活动中包含以下信息:

测试数据

消息资源存在但消息未在字符串/消息表中找到

我能做些什么才能在事件日志中只显示“测试数据”文本吗?或者Windows 8.1的工作方式不同,我不知道呢?

亲切的问候

戴姆詹·

2 个答案:

答案 0 :(得分:0)

您需要为事件查看器设置消息文件。看看Description for event id from source cannot be found

答案 1 :(得分:0)

签出this answer它完全符合您的需要(编写没有“找不到描述”错误且没有注册自定义事件源的事件日志条目