解决“ .dll(或.ocx)控件已加载,但对DllregisterServer的调用失败,错误代码为0x80004005”问题的两种终极方法:SubInACL安装 VS 命令提示符
来源:互联网 发布:域名的注册费用 编辑:程序博客网 时间:2024/05/22 13:06
VB开发环境下开发的程序经常会遇到打包好的工程能够无问题安装,但是安装后却显示“ ****.dll(或.ocx控件已加载但对DllRegisterServer的调用失败,错误代码为0x80004005(或其他其他类似错误代码)。这样的问题明白人一看就知道这是dll或ocx控件未正确注册的原因,但是怎样解决这个问题,确是比较棘手。
遇到这个问题的时候大家首先能想到的是手动注册该控件。一般有两种方法(1)调用系统本身自带的regsvr32.exe注册器进行注册,但是注册后发现提示注册错误,未能成功注册。这是什么原因呢?难道是没有管理员权限?可我明明是以管理员身份登录电脑的啊。然后便是发送该程序快捷方式到桌面,右键该快捷方式,单击"以管理员身份运行",重新注册控件,发现还是提示先前同样的错误。(2)在“运行”中键入regsvr32 <path> "控件名"的方法进行注册,但问题依旧。这时就让人们摸不到头脑了。其实这归根到底还是权限问题,以管理员身份登录电脑未必就具有管理员权限。下面介绍两种方式来解决这个问题:
第一种方法:
这种方法相对于第二种方法来讲要简单许多。找到“命令提示符”然后右键单击,选择“以管理员身份运行”,进入DOS环境。在这种情况下使用regsvr32命令便可以成功注册原来控件了。其实类似的问题在以前的学习中遇到过,当时竟然没想起来,用的是第二种方法。不过还好,问题得以及时解决了。
第二种方法:
1.下载Microsoft的SubInACL 并安装。Subinacl是微软提供的用于对文件、注册表、服务等对象进行权限管理的工 具软件。安装好SubInACL后以管理员身份运行程序将使您真正获取对改程序的管理员使用权限。下载地 址:SubInACL下载。
2.在C:\Program Files\Windows Resource Kits\Tools文件夹下创建一个名为reset.txt的文件。将下面的内容复制 到txt中并保存 :
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f
subinacl /subkeyreg HKEY_CURRENT_USER /grant=administrators=f
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f
subinacl /subdirectories %SystemDrive% /grant=administrators=f
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=system=f
subinacl /subkeyreg HKEY_CURRENT_USER /grant=system=f
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=system=f
subinacl /subdirectories %SystemDrive% /grant=system=f
3.将reset.txt的后缀改为.cmd格式。
4.开始-运行-cmd,进入DOS环境后 键入cd C:\Program Files\Windows Resource Kits\Tools 后回车。然后键 入reset.cmd 后回车。当执行完一些列命令后,再对原控件进行注册就可以了。
- 解决“ .dll(或.ocx)控件已加载,但对DllregisterServer的调用失败,错误代码为0x80004005”问题的两种终极方法:SubInACL安装 VS 命令提示符
- 解决win10 “ .dll(或.ocx)控件已加载,但对DllregisterServer的调用失败,错误代码为0x80007005”
- win7模块"XXXX.ocx"已加载,但对DllRegisterServer的调用失败,错误代码为0x80004005
- win7下修改注册表问题 模块"jscript.dll"已加载,但对DllRegisterServer的调用失败,错误代码为0x80004005 我是WIN7
- 模块"jscript.dll"已加载,但对DllRegisterServer的调用失败,错误代码为0x8000。。。
- 错误:模块CSW.dll已加载,但对dllregisterserver的调用失败,错误代码0x80020009
- 模块已加载,但对DllRegisterServer的调用失败,错误代码为0x800......的解决办法
- vsflex8.ocx已加载,但对DLLREGISTERSERVER的调用失败
- win7下手工注册dll组件时,提示模块“xx.dll”已加载,但对DllRegisterServer的调用失败,错误代码为0x80020009
- DllRegisterServer的调用失败,错误代码为0x80040200 (vista手动注册ocx dll问题)
- DllRegisterServer的调用失败,错误代码为0x80040200 (vista手动注册ocx dll问题)
- DllRegisterServer的调用失败,错误代码为0x80040200 (vista、Win7手动注册ocx dll问题)
- DllRegisterServer的调用失败,错误代码为0x80040200 (vista手动注册ocx dll问题)
- 模块已加载,但对 DllRegisterServer 的调用失败错误代码0x80040201
- dllregisterserver 调用失败, 错误代码为0x80004005 的解决办法
- regsvr32 命令注册COM组件报错"模块已加载,但是对DLL的调用失败,错误代码0x80004005"
- 模块"........."已加载,但对DllRegisterServer的调用失败
- 模块已加载,但对dllregisterServer的调用失败
- Android 使用httpclien异步加载
- srand((unsigned)time(NULL))
- lpc2200移植ucos-II总结(一 移植环境)
- 怎样写一个拼写检查器
- 关于一则线程与进程的微博
- 解决“ .dll(或.ocx)控件已加载,但对DllregisterServer的调用失败,错误代码为0x80004005”问题的两种终极方法:SubInACL安装 VS 命令提示符
- android 来电自动接听和自动挂断
- 调整分区容量
- wpf使用资源字典组织资源
- 单片机+wifi的10个实验
- Java解析XML的四种方法
- Linux环境进程间通信: 共享内存
- 解决nginx 504 Gateway Time-out的一些方法
- lpc2200移植ucos-II总结(二 移植简介)