machine.config 更改后 MMC 无法创建管理单元错误

MMC could not create the snap-in error after machine.config change

我很难确定为什么我的 Windows 10 Enterprise 计算机突然无法 运行 事件查看器(MMC 插件)。

它会启动,但会产生以下消息: MMC 无法创建管理单元。管理单元可能未正确安装。 名称:事件查看器 CLSID:外汇:{b05566ad-fe9c-4363-be05-7a4cbb7cb510}

我尝试了 Google 搜索中出现的所有常用渠道和建议,但均无济于事。工作人员建议我的 machine.config 最近的更改可能会导致问题。事实证明他是对的。通过从我的 machine.config 中删除以下行,MMC 现在可以 运行 头晕目眩了:

我从 system.transactions 节点中删除了 <machineSettings maxTimeout="00:00:00"/> 节点,现在事件查看器 运行 非常棒。

堆栈溢出上的其他人也有类似的问题,"solved" 通过爆破整个 Microsoft.NET 文件夹并将其替换为 "working machine" (Windows Server 2008 R2: Cannot access event viewer, server manager, IIS7 CLSID:FX:{18ea3f92-d6aa-41d9-a205-2023400c8fbb}) 但这可能如果机器安装了不同的 .NET 框架,则会导致问题。

这 post 首先是为了帮助遇到此问题的其他人,其次是向外发送 ping 消息,看看是否有人可以解释为什么 .NET machine.config 会改变MMC 插件。

如果我错了请纠正我,但我认为事件查看器(仍然是 1.0 版)是用 C++ 构建的,因此它不需要 CLR 库中的 machine.config。那么,为什么更改 machine.config 或安装任何版本的 .NET 框架会导致问题(例如 "MMC plugins (e.g. EventViewer) not working after installing .NET Framework V4.5.2")?

以防万一,我正在 运行安装 .NET Framework v4.0.30319。修改的machine.config文件在C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config路径下.

"MMC could not create the snap-in." 错误的一种可能修复方法是检查您的 .NET machine.config XML。在我的例子中,删除 <machineSettings maxTimeout="00:00:00"/> 标签解决了这个问题。这是我们的架构师添加的标签,用于绕过 SQL 事务超时,因此内部安装程序将 运行 完成。

知道为什么对 machine.config 的更改对事件查看器插件或 Microsoft 管理控制台很重要。