我最近安装了Delphi Berlin。没工作,所以我当天卸载了它。现在我的Delphi XE7停止工作了。当我尝试编译任何东西时,我收到此错误,我不知道如何解决它。
无法将“System .__ ComObject”类型的COM对象强制转换为接口类型“Borland.Studio.Interop.IInteropMessageService”。此操作失败,因为对于具有IID'{FF877130-F96F-3885-9A3E-3093A3C1D831}的接口的COM组件的QueryInterface调用由于以下错误而失败:加载类型库/ DLL时出错。 (来自HRESULT的异常:0x80029C4A(TYPE_E_CANTLOADLIBRARY))
错误就像上面显示的那样。没有提到源文件。
我已经尝试使用Embarcadero提供的“修复”,但他们的工具不起作用:
C:\Delphi\Delphi XE7\bin>tregsvr -t Borland.Studio.Interop.tlb
Embarcadero Turbo Register Server(32) -- COM Server Registration utility.
Version 1.3 Copyright (c) 1997-2010 Embarcadero Technologies, Inc.
Type library name: C:\Delphi\Delphi XE7\bin\Borland.Studio.Interop.tlb
Type library GUID: {F939BACD-3FD5-437A-833F-BA3535A45966}
Error: Error accessing the OLE registry
FIX(由@rruz建议):上面的实用程序需要在“Admin”(提升)权限下运行。谢谢@RRuz。
我遇到了同样的问题,但情况有点糟糕。
我还必须使用以下命令注册此类型库。使用提升的权限运行它:
tregsvr -t Borland.Studio.ToolsAPI.tlb
可能是由于将Delphi安装移动到最初安装在错误文件夹中的其他文件夹,迁移向导解决了一些但显然不是全部,现在重命名再次工作。
机器有点迟钝,可能是因为进程监视器仍在运行,幸运的是这个工具的新版本工作,这让我找到了这个问题。
此工具显示查询的所有注册表项...并且此特定工具弹出“未找到名称”。
我做了如下:
立即停止捕获事件。
然后分析日志;)