【问题标题】:Uninstall event source (ETW) without manifest file?卸载没有清单文件的事件源(ETW)?
【发布时间】:2019-03-20 13:43:59
【问题描述】:

在不使用清单的情况下卸载/删除以前安装的事件源的最佳方法是什么?

例如。 如果我有类似的东西:


    [EventSource(Name = "Corporation-Module-X")]
    public sealed class XEventSource : EventSource
    {
        //...
    }

为了安装事件源,我使用 wevtutil {im |安装清单}

如果我有清单,卸载很容易。但是我可以在没有清单文件的情况下卸载事件源吗?


我将尝试阐明我如何使用事件源以及我为什么要删除它。

使用 wevtutil 安装事件源后,事件源作为事件跟踪提供程序可见。因此,我可以在性能监视器中创建新的数据收集器集,并在其中添加我的事件源(连同一些性能计数器)。 它看起来像这样:

可能发生的情况是事件源被重命名或删除。 例如。使用 wevtutil 重命名和安装后。


    [EventSource(Name = "Corporation-Module-Y")]
    public sealed class XEventSource : EventSource
    {
        //...
    }

事件跟踪提供程序中仍然存在旧的:

我想要查询所有以 Corporation* 开头的已安装事件提供程序,并在安装新的之前将其删除。

谢谢!

【问题讨论】:

  • 您可以卸载带有转储清单的提供程序吗?
  • 我现在投票决定以“过于宽泛”来结束这个问题,因为我仍然不知道转储清单是否有效以及我们还能如何帮助您。
  • 我将您的帖子标记为答案,因为没有更好的答案。它可能会工作......

标签: c# etw eventsource etw-eventsource


【解决方案1】:

没有必要卸载任何东西,因为如果你EventSource 没有注册清单。清单发送到ManifestData Event

到监听器工具(Perfview,Windows Performance Toolkit),以便他们可以解释记录的数据。

注册提供者后,可以dump the manifest再次使用wevtutil将其删除。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2015-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多