0

我有一个Microsoft.Diagnostics.Tracking.EventSourceusing Channel = EventChannel.Admin生成的清单在我尝试过的两台 W7 机器上安装并运行良好,但是在 2008 R2 上,当我在 EventViewer 中向下钻取时,我得到 MMC 管理单元错误,我可以看到事件是未“识别”(“找不到 blabla 的描述......”)。

奇怪的是,如果我卸载清单,EventViewer 可以毫无例外地打开事件文件(尽管仍然找不到正确的描述)。

EventSource清单文件是否有特定于操作系统的内容?

我应该搜索的方向的任何指针?

4

2 回答 2

2

这里的关键问题是您如何注册清单。请注意,事件查看器实际上并不知道如何读取清单。当您使用 wevtutil 注册清单时,它主要只是添加注册表项。注册表项应该具有 DLL 的完整路径,并且 DLL 应该包含已编译的清单数据。如果您没有将编译后的清单数据添加到 DLL,或者您在注册清单时没有提供 DLL 的完整路径,事件查看器将无法找到它需要的数据。

过去版本的 wevtutil 并没有很好地在您错误地执行此操作时警告您。我认为较新的版本(例如 Windows 10)正在变得更好。

于 2016-06-03T10:38:19.127 回答
0

用户错误,需要更改:(

我什至在对 Doug 回答的评论中直接写了出来:

"%windir%\System32\wevtutil.exe" im "%~dp0Manifest.man"
           /rf:"%~dp0Manifest.dll" /mf:"%~dp0Manifest.dll"

但这不是我在批处理文件中实际拥有的内容,我忘记将完整路径放在 .man 文件名的前面。

于 2017-01-17T10:23:19.320 回答