注册控件失败之一:提示0x80040200错误的处理办法

今天有客户反馈说控件无法注册,晕,这问题好容易困扰开发者以及客服人员,但是环境千差万别,很难做到完全自动化。

出现的错误号码有很多,但相对的0x80040200这个号码出现的概率较其它的会高一些。

通过近一段时间以来的问题处理,大致上有如下几种情况:


1. 缺少文件。为了尽量减少这种情况的发生,在编译时,两个地方需要修改:

A. C/C++ -->  代码生成 --> 运行库,由于发布的通常是release版本,所以debug版本的可以不管,对release版本,修改为“多线程”,而不要选择“多线程 DLL”

B. 如果有使用MFC,则在 常规 --> MFC的使用荐中,选择“在静态库中使用MFC”,而不要选择“在共享DLL中使用MFC”,如果是不使用MFC,则选择“使用标准windows库”

此种情况发生的概率最大,通常来说,通过以上两个选择的修改,对windows库的依赖上基本可以做到最小,如果还发生这种情况,则通常是缺少第三方库导致的


2. 被安全软件拦截

如果注册失败,可以关闭安全软件,比如360、瑞星等杀毒或者其它权限管理工具试试


3. 系统权限问题

该问题在旧的系统上出现概率较低,因为旧的系统对权限的限制较小,而目前的多数系统,特别是从vista开始,比如win7、win8、win10等等对权限的限制非常严格,对于大多数用户来说都没有注册控件这种权限,包括普通的管理员。所以为了得到这个权限,必需使用Administrator登录系统来注册,否则,必需在cmd.exe上点鼠标右键选择“以管事员身份运行”来启动cmd窗口,然后在其中输入注册命令才可成功


4. 系统的位宽问题

早前系统只有32位的不会存在此问题,目前的win7、win8、win10都有32位和64位的区别,所以控件也区分是32位和64位。目前来说,我们的程序可能多数都是32位的,除非指定了64位编译。

如果操作系统是64位,而控件是32位的,则可能需要指定正确的注册命令,通常来说需要使用 c:/windows/sysWOW64目录中regsvr32.exe来注册控件,即 c:/windows/sysWOW64/regsvr32 "d:/xxx/myocx.ocx"


需要说明的是,以上的编译设定部分,是以vs2010为主要参考的,除了vc6之外,从vs2008开始的新版本,应该都差不多


希望本贴对大家有所帮助



  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 0x80040154是一个Windows错误代码,通常出现在使用COM组件的程序中。这个错误代码表示所需的组件没有正确地注册到系统中。 在Windows操作系统中,COM组件是一种重要的技术,用于实现不同程序之间的互操作性。COM组件在安装时需要注册到Windows的注册表中,以便其他程序能够找到并使用它们。 当出现0x80040154错误时,意味着某个程序无法找到所需的COM组件。这可能是因为组件未安装,已损坏或者注册不正确。 修复此错误的方法通常是重新注册相关的COM组件。可以使用Windows的"regsvr32"命令来实现。我们可以按以下步骤进行: 1. 打开命令提示符。 2. 运行以下命令:regsvr32 组件路径。 其中,"组件路径"是指需要注册的COM组件的完整路径,可以从相应的程序或开发人员提供的文档中找到。 3. 等待注册完成的提示。 4. 重启计算机。 重新注册COM组件通常可以解决0x80040154错误。然而,如果问题仍然存在,可能需要考虑重新安装相关的应用程序或联系组件提供方以获得更多支持。 总结起来,0x80040154错误表示COM组件没有正确地注册到系统中。通过重新注册相关的COM组件,可以解决此错误。 ### 回答2: 0x80040154是一个Windows错误代码,表示所需的类没有在系统中注册。这个错误通常发生在尝试使用一个没有正确安装或注册的组件时。 当一个应用程序依赖于某个组件或库文件时,需要确保该组件已被正确安装并在Windows注册表中进行注册。如果组件没有正确注册,系统就无法找到并使用它,就会出现0x80040154错误。 要解决这个问题,可以尝试以下几个方法: 1. 重新安装组件:通过重新安装组件的最新版本,可以确保组件正确安装并在系统中注册。 2. 注册组件:如果某个组件未正确注册,可以使用命令提示符或PowerShell以管理员身份运行并执行"regsvr32 组件路径"命令来注册该组件。确保在命令中使用正确的组件路径。 3. 确保组件完整:在某些情况下,0x80040154错误可能是由于组件文件损坏或缺失造成的。可以通过重新下载和安装组件来解决此问题。 4. 使用兼容模式:如果发现某个组件不与当前操作系统兼容,并且无法进行更新或修复,可以尝试在兼容模式下运行该应用程序。 总之,0x80040154错误表示某个类没有在系统中正确注册。通过重新安装、注册组件,确保组件完整性以及使用兼容模式等方法,可以解决这个问题。 ### 回答3: 0x80040154是一个常见的Windows错误代码,通常表示没有找到或没有注册指定的COM组件或ActiveX控件。 当我们在运行一个使用COM组件或ActiveX控件的程序时,系统会尝试在注册表中查找该组件或控件的信息。如果注册表中没有该组件或控件的相关信息,或者注册表中的信息有错误或损坏,那么系统就无法找到该组件或控件,就会出现0x80040154错误。 要解决这个问题,我们可以尝试以下几种方法: 1. 重新注册组件或控件:打开命令提示符,以管理员身份运行,并输入命令"regsvr32 filename.dll"来重新注册指定的DLL文件。其中,filename.dll是要注册的组件或控件的文件名。 2. 安装组件或控件:如果没有找到指定的组件或控件,可能是因为没有安装它们。我们需要确保已经正确地安装了相应的程序或组件。 3. 更新操作系统:有时,0x80040154错误可能是由于操作系统版本过旧导致的。我们可以尝试更新操作系统到最新版本来解决该问题。 4. 检查注册表:如果其他方法都没有解决问题,我们可以尝试检查注册表中的相关信息。请注意,在进行注册表操作时,一定要非常小心,因为错误的操作可能会导致系统不稳定。 总结起来,0x80040154错误表示没有找到或没有注册指定的COM组件或ActiveX控件。我们可以尝试重新注册组件或控件,安装相应的程序,更新操作系统或检查注册表来解决该问题。如果以上方法都无效,可能需要联系软件开发商或技术支持来获取更进一步的帮助。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值