首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用regsvr32的无聊BHO dll 64位和32位会导致0x8002801c错误。

使用regsvr32的无聊BHO dll 64位和32位会导致0x8002801c错误。
EN

Stack Overflow用户
提问于 2014-06-05 08:43:34
回答 1查看 673关注 0票数 1

我使用这些指令http://msdn.microsoft.com/en-us/library/bb250489(v=vs.85).aspx,用ATL创建了简单的BHO。我正在创建dll的64位和32位dll。当我尝试使用regsvr32取消注册32位版本后的64位dll时,会出现问题,我得到的是0x8002801c错误。(反之亦然,同样的问题也会发生)。我增加了图像。

我认为这与TypeLib注册有关,因为我对64位和32位做了相同的操作,没有任何差别,在注册32位后,我有这两个键。

HKEY_CLASSES_ROOT\TypeLib{5EA5008F-7766-499D-B4B0-9A671C752333}\1.0\0\win32默认值= C:\programming\vswork\testfile\test64atlcom\Debug\test64atlcom.dll

HKEY_CLASSES_ROOT\Wow6432Node\TypeLib{5EA5008F-7766-499D-B4B0-9A671C752333}\1.0\0\win32默认值= C:\programming\vswork\testfile\test64atlcom\Debug\test64atlcom.dll

为什么会发生这种情况,如何解决呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-05 10:37:58

错误代码是TYPE_E_REGISTRYACCESS。VS项目的一个典型问题是默认模板没有x64配置,而且它从Win32复制不会更新MIDL设置中的目标环境。

x64使用Win32构建将加载并运行,但是它的注册仍然会将类型库注册为32位,并导致32/64位构建冲突。

因此,您需要确保Win32中的类型库构建为目标32位,而x64构建具有目标64位环境。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24055532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档