我需要帮助来解决在尝试创建 Windows 事件提供程序时无法访问“提供程序”资源的问题。我使用 ManGen 实用程序创建我的 list 文件,并将我的“.exe”文件命名为我的消息和资源文件。我使用我的 exe 文件编译“.rc”文件并生成预期的“.res”文件。但是,当我运行 wevtutil 时,我不断收到“资源不可访问”警告。
最佳答案
当您安装 list 时(例如 wevtutil im manifest.man
),如果资源不可用,您应该会看到某种警告:
**** Warning: Publisher EventsProvider resources are not accessible.
要获得一些额外的信息,请尝试检索有关其中一个出版商的信息。例如:
c:\...> wevtutil gp <EventProviderName>
Failed to open metadata for publisher <EventProviderName>. Access denied.
好的,上面的提示是权限问题,所以让我把路径改成可访问的,然后再试一次:
c:\...> wevtutil gp <EventProviderName>
Failed to open metadata for publisher <EventProviderName>. The specified resource
type cannot be found in the image file.
对于上面的内容,资源似乎没有被正确编译。
如果你使用 VS 进入 File->Open
并在资源查看器中打开你的 exe,你应该能够看到编译的资源。你应该至少有一个“WEVT_TEMPLATE”条目.
为了正确编译资源,csc
需要按如下方式传递资源:
csc /win32res:<Resource.res>
关于windows - 警告 - 运行 wevtutil 时无法访问提供程序资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9216675/