windows桌面菜单的Shell扩展 模块加载失败

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

 

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

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

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

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

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

 

 

 

权限问题:

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

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

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

 

 

 

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

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

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Windows)