基于清单的ETW提供程序 - 解码文件位置

3

我正试图将ETW跟踪功能添加到我创建的C++ DLL中。我正在使用基于清单的方法。

跟踪正在工作,但是在构建DLL之前,似乎需要将清单中的“解码文件位置”设置为绝对路径。

然而,DLL可以部署在任何地方,因此解码路径取决于用户的安装位置。

是否存在一种解决方法?

谢谢。


你能在适当的地方添加参考和链接吗(例如基于清单的方法,有关“解码文件位置”的文档)? - IInspectable
@IInspectable他指的是清单中的这个条目:**<provider guid="{538cbbad-4877-4eb2-b26e-7caee8f0f8cb}" message="$(string.ProviderName)" messageFileName="%SystemRoot%\system32\fdphost.dll" name="Microsoft-Windows-FunctionDiscoveryHost"**,messageFileName需要一个固定的位置。 - magicandre1981
1个回答

3
在安装提供程序时,请务必将开关/resourceFilePath/messageFilePath设置为您DLL文件的路径。这将覆盖DLL构建时指定的清单中解码文件的位置。
例如:
wevtutil.exe /resourceFilePath:path_to_DLL /messageFilePath:path_to_DLL im path_to_manifest

请注意,此方法仅适用于Windows 7或更高版本。 - jamesd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接