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

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xbgprogrammer/article/details/48240639

今天重新下载代码编译打包一系列流程后,安装报错提示某个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,问题解决。

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



展开阅读全文

没有更多推荐了,返回首页