今天重新下载代码编译打包一系列流程后,安装报错提示某个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,问题解决。
其实我想说你给我个提示个找不到指定的程序是卯意思!