【发布时间】:2011-11-04 01:54:48
【问题描述】:
将工作中的 C# 项目从 64 位 Windows 7 机器移动到 32 位 XP 机器会导致以下错误:
Retrieving the COM class factory for component with CLSID {681EF637-F129-4AE9-94BB-618937E3F6B6} failed due to the following error: 80040154.
681EF637-F129-4AE9-94BB-618937E3F6B6 不在注册表中,因此未正确安装,但这是以前在 64 位 Windows 7 计算机上出现问题的同一 ID。
在 64 位 Windows 7 机器上找到了此错误的解决方案here(将 Platform Target 更改为 x86),但这并不能解决 32 位 XP 机器上的问题。
如何找到与681EF637-F129-4AE9-94BB-618937E3F6B6 关联的 DLL,或者更好的是,如何修复此异常?
【问题讨论】:
-
据我所知,进程(64 或 32)无法加载 32 位 dll(分别为 32 或 64)。
-
请注意,错误代码是 REGDB_E_CLASSNOTREG。因此,当计算机上未安装 COM/ActiveX 控件或因进程位数未安装 COM/ActiveX 控件时,可能会发生这种情况。
标签: .net exception com dllregistration