应用 Microsoft .NET 修补程序或升级并随后降级 Microsoft Office 后,我收到错误:
Unable to cast COM object of type System.__ComObject to IRibbonUI. IID 00c03a7-0000-0000-c000-000000000046 Library not registered TYPE_E_LIBNOTREGISTERED 0x8002801d
在启动 Microsoft Excel 2010 时,在 Invantive Control 的错误窗口中。
使用 Office 2010 安装 Skype for Business 时也会出现类似的错误:
Microsoft.Office.Core.IRibbonUI'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{000C03A7-0000-0000-C000-000000000046}' failed due to the following error: Library not registered. (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)).'
我怎样才能解决这个问题?
答案1
该问题似乎仅当涉及 Office 2010 时才会出现;在 Office 2013 或 2016 上从未出现过该问题。
看来 Microsoft 安装程序取代了注册,但并没有覆盖所有组件,尤其是降级组件。
建议的步骤如下:
- 确保您拥有经过测试的设备和注册表备份,以便可以恢复到原始情况。
- 重新安装正确版本的 Visual Studio Tools for Office,例如适用于 Office 2010 的 Visual Studio 工具。
- 重新安装 Invantive ControlInvantive 控制站点。
- 检查问题是否已解决。如果没有,事情会变得更加棘手:
- 从错误消息中获取 GUID ({000C03A7-0000-0000-C000-000000000046})。
- 以提升模式打开注册表编辑器。
- 找到 GUID {000C03A7-0000-0000-C000-0000000000046}。
- 转到 TypeLib 节点。
- 从那里复制 GUID ({2DF8D04C-5BFA-101B-BDE5-00AA0044DE52})。
- 查找 {2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}。
- 它列出了多个版本号。
- 确保您拥有经过测试的注册表备份。
- 删除2.8版本号,保留2.5版本。
- 重新启动 Excel。
- 如果这没有帮助,最简单的方法是重新安装 Windows 或使用 Excel 2013 或 2016 进行测试。