模块已加载,但对dllregisterServer的调用失败

在注册dll或者ocx的时候,

经常会遇到这么一个问题:

模块  已加载,但对dllregisterServer的调用失败,错误代码为0x8004*****

网上有网友回复说需要在管理员的模式下进行注册:本人测试过,

会出现如下问题:

模块  加载失败。请确保该二进制存储在指定的路径中,或者调试它以检查该二进制或相关的 .dll文件是否有问题。  找不到指定的模块

还是没有能解决问题,经过长时间尝试,终于用以下方式的第一点解决了问题 本人亲测:至于另外的方式,我没有测试过。

以下是解决win7运行批处理出错不能注册dll等问题。

1.在批处理的第一行加入:cd /d %~dp0 然后在批处理上右键选择使用管理员权限运行。

2.右键任务栏,选择资源管理器,进程选项卡,显示所有用户的进程,结束explorer,文件-新建任务 explorer,此时选中“利用管理特权创建此任务".桌面显示完成后就可以直接双击批处理运行了。

3. 使用第三方提权工具,例如elevate ,用法elevate -c regsvr32 demo_doreg.dll这种方法需要在每个提权的命令前都要加上elevate -c ,这种第三方工具适合于1个或者少个需要提权的情况。http://code.kliu.org/misc

4.使用bat to exe converter 1.51把批处理转换为exe,在转换的时候有选项可以选择 admin 权限。使用此软件时最好关掉360和其他杀软,因为软件好像要upx加壳。http://www.softpedia.com/get/System /File-Management/Batch-To-Exe-Converter.shtml

事项: 1和4 两项适合分发给其他人员部署,第2条还是自己保留着当压箱底的吧。

--------------------------------------------------------------

win7 使用批处理注册dll可能会出现如下问题。

1.模块  已加载,但对dllregisterServer的调用失败,错误代码为0x80040201原因:使用管理员权限才能注册dll

2.右键使用管理员 可能会出现如下错误:模块  加载失败。请确保该二进制存储在指定的路径中,或者调试它以检查该二进制或相关的 .dll文件是否有问题。  找不到指定的模块。

原因:win7下管理员的命令行(批处理)默认的是system32文件夹。

解决方法:按照文章开头的第一条解决即可。

当然也可使用2、3、4等方案解决。

时间: 2024-08-03 02:54:45

模块已加载,但对dllregisterServer的调用失败的相关文章

DllRegisterServer的调用失败的问题解决方法

今天安装歌词转换器的时候需要安装COMDLG32.OCX,在注册ActiveX控件时出错了, 错误提示是COMDLG32.OCX.ocx已加载,但是DllRegisterServer调用失败.其实在日常的工作中,用regsvr32 命令注册dll.ocx等时,这种模块已加载,但DllRegisterServer的调用失败的问题很常见,下面和大家分享一下我的经验,希望能够帮到大家. 方法/步骤 这种提示一般都是因为我们的权限不够造成的. 我的操作系统是win8 64位的,所有我就用我的系统和大家分

IE报错:模块"scrrun.dll"已加载,但对DllRegisterServer的调用失败,错误代码为0x80004005

在我的win10系统上打开某内部网页登录的时候弹出'模块"scrrun.dll"已加载,但对DllRegisterServer的调用失败,错误代码为0x80004005'报错信息,搞了好久都没有 搞好,最后百度找到注册文件“clock.zip”运行其中的批处理文件后成功登陆. 注册文件链接:http://files.cnblogs.com/files/xxlu/clock.zip 注意:在注册的时候要将批处理文件run.bat中clock.ocx组件的地址改为本地绝对地址,博主提供的r

Python模块动态加载机制

本文和大家分享的主要是python中模块动态加载机制相关内容,一起来看看吧,希望对大家学习python有所帮助. import 指令 来看看 import sys 所产生的指令: co_consts : (0, None) co_names : ('sys',) 0 LOAD_CONST               0 (0) 2 LOAD_CONST               1 (None) 4 IMPORT_NAME              0 (sys) 6 STORE_NAME  

检测jQuery.js是否已加载的判断代码

转载自http://www.jb51.net/article/27185.htm 测类.方法.变量或属性是否已存在,这是Javascript编程基础知识.在这里我们就是要检测jQuery()或$()函数是否存在 当然,该方法不局限于jQuery的检测,对与任何Javascript变量或函数都是通用的. 当前网页加载jQuery后,jQuery()或$()函数将会被定义,所以检测jQuery是否已经加载存在以下2种方法: 方法1: 复制代码代码如下: if (jQuery) { // jQuery

javascript异步延时加载及判断是否已加载js/css文件

引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样. 引用的声明方法:类型标识符 &引用名=目标变量名: 例如: int a int &b=a; //定义引用b,它是变量a的引用,即别名 #include <stdio.h> void main() { int a = 123; int &b = a; printf("a=%d b=%d\n", a, b); } 执行结果: 实例:引用和变量的关系 #include <io

seajs2.3学习日志 简单尝试模板+数据合并、模块异步加载、非标准CMD模式定义define模块

今天继续尝试seajs 2.3的版本,那做点什么demo好呢,就来一个简单是数据模板吧,然后通过其他一些细节深入学习 先看看目录结构,按照官方demo架设 index.html只是简单入口文件和seajs的配置项,最下面有一个seajs.use加载crontroller模块,然后回调暴露的combine方法 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>

检测js代码是否已加载的判断代码

该方法不局限于jQuery的检测,对与任何Javascript变量或函数都是通用的. 当前网页加载jQuery后,jQuery()或$()函数将会被定义,所以检测jQuery是否已经加载存在以下2种方法:方法1:代码如下: 1 if (jQuery) { 2 // jQuery 已加载 3 } else { 4 // jQuery 未加载 5 } 方法2:代码如下: 1 if (typeof jQuery == 'undefined') { 2 // jQuery 未加载 3 } else {

模块的加载启动

Sea.js 是一个模块加载器,模块加载器需要实现两个基本功能: 实现模块定义规范,这是模块系统的基础. 模块系统的启动与运行. 模块定义规范的实现 这就是 define,require,exports,module 的实现.具体实现细节,有兴趣的可以看 Sea.js 的源码:seajs/src.可以按照 Gruntfile.js 中声明的合并顺序阅读,核心是 module.js 文件. define 等方法的具体使用,请阅读:CMD 模块定义规范 模块系统的启动 有了 define 等模块定义

centos6.8防火墙模块未加载

使用阿里云服务器下的centos6.8系统,开启或关系或查询防火墙的状态时,提示防火墙模块未加载. 解决办法: modprobe ip_tables #加载ip_tables模块 modprobe iptable_filter #加载iptable_filter模块 [[email protected] ~]# lsmod | grep iptable #查看模块,有模块即解决了 iptable_filter 2173 0 ip_tables 9567 1 iptable_filter 这时再次