安装并卸载WPS后,导致Office COM组件调用失败的解决方案
概述
在安装并卸载WPS后,可能会导致Office COM组件调用失败的问题。本文将详细介绍如何解决这一问题,确保您的Office应用程序能够正常运行。
问题背景
某天,应朋友请求,帮助解决一个Excel问题,结果发现朋友使用的是WPS,发来的表格在Excel上打开正常,并无对方描述的问题。为了还原错误,下载并安装WPS,最终解决问题后卸载了WPS。然而,最近在调试以前的代码时,突然发现C#操作Excel的代码不能用了,报错信息为:对IID为“[00020970-0000-0000-C000-000000000046]”的接口的COM组件调用QueryInterface因以下错误而失败: 加载类型库/DLL时出错。
解决方案
经过多次尝试和网上搜索,得出以下解决方案:
- 重新安装WPS并使用自带的卸载工具卸载:测试无效,重新安装并使用Total Uninstall卸载,问题依旧。
- 删除注册表,卸载WPS,卸载OFFICE,重启,重新安装OFFICE:问题依旧。
- 删除HKEY_CLASSES_ROOT\TypeLib[00020813-0000-0000-C000-000000000046]\下多余的版本:电脑上只安装了Office 2010,只有一项1.7。以上方案均失败。
最终发现,造成问题的原因是WPS修改了Office的一些注册信息,并且卸载和重新安装Office都没有重新覆盖。WPS把注册表里 “计算机\HKEY_CLASSES_ROOT\Interface[000208**-0000-0000-C0000-000000000046]\TypeLib” 的值改为了[45541000-5750-5300-4B49-4E47534F4655],原本应该为[00020813-0000-0000-C000-000000000046],Version改为了3.0,原本应该是1.7(Office 2010)。共有100+项,将以上修改正常就好了。
附录
附上修改后的注册表文件,供参考使用。
结论
通过修改注册表中的相关信息,可以有效解决安装并卸载WPS后导致Office COM组件调用失败的问题。希望本文能帮助到遇到类似问题的用户。