模块加载失败 请确保该二进制文件在指定的路径中 找不到指定的模块

原文地址:http://blog.csdn.net/u011677067/article/details/52431043

编写了一个桌面右键菜单的的Shell扩展,为了验证是否与其它系统是否兼容,故用虚拟机分别安装了Win7的64位和32位,XP的32位系统,结果注册时出现了以下问题。

反复检查,路径肯定是对的,dll模块在开发机上也没有问题,权限也使用了管理员权限。最后没有办法,就在虚拟机上安装了VS并编译程序,结果这下又能注册成功了。

锁定问题为环境配置,将项目配置属性—>常规—>MFC的使用 修改为在静态库中使用MFC。

修改后,编译过,在注册运行就没有问题了。

其实最开始也考虑过可能是项目依赖的问题,但是因为创建的是ATL项目,只是将ATL的使用改为静态。

然而测试证明MFC的使用也要改为静态,这就有点不理解,哪位高手懂的请指教一下?

权限问题:

在XP中无需关心权限,直接用regsvr32命令来注册就行了。

在Win7中如果权限不足就会报错。

这个时候需要以管理员模式来执行。

另外,根据测试发现在Win7中权限问题要看用户配置:

如上图,如果将用户账户控制改为从不通知,那么即使一般权限也可以运行成功;但如果改为其它模式,那就必须以管理员权限来运行命令了。



发表评论

邮箱地址不会被公开。