您的位置:首页 > 其它

dll自注册失败提示找不到指定的程序 - 问题排查

2015-09-06 10:33 399 查看
今天重新下载代码编译打包一系列流程后,安装报错提示某个dll注册



看错误代码云里雾里,于是我启动cmd,使用regsvr32注册此dll,注册失败,提示



loadlibrary失败比较有思路解决,但是后面提示找不到指定的程序,我就晕了。我理解的是注册程序找不到TopVDAddin文件,但是文件明明存在啊!

于是我用Dependency Walker查看,解析的确出错,

Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.

看不懂,于是我看检查了下它的依赖dll



发现Advapi32的图片颜色和其它不同,于是我查看它被引用的导出函数,发现RegSetKeyValueW状态为红色,而检查Advapi32所有的导出函数并没有RegSetKeyValue,于是转而咨询帮助文档,发现Windows Vista及以后的版本才支持此函数,于是我在代码里加入了以下语句

#include<winsdkver.h>

#define _WIN32_WINNT _WIN32_WINNT_WINXP

并将 RegSetKeyValue改为RegSetValueEx,问题解决。

其实我想说你给我个提示个找不到指定的程序是卯意思!



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: