【Windows环境搭建笔记1.1】"计算机丢失api-ms-win-downlevel-shlwapi-l1-1-0.dll"、"应用程序无法正常启动(0x000007b)" 解决方案

我的环境配置:Win7 64位系统、VS2015、Opencv3.4.2

运行程序时出现如下错误:

无法启动此程序,因为计算机中丢失api-ms-win-downlevel-shlwapi-l1-1-0.dll
尝试重新安装该程序以解决此问题。

下载 api-ms-win-downlevel-shlwapi-l1-1-0.dll,解压会得到同时包含32位和64位的dll文件,感觉原文[1]作者说的乱七八糟,这里总结如下 (我是win7 64位系统):
step1:复制32位的dll文件到到 C:\Windows\SysWOW64路径下;
step2:在同一目录下新建register_my.bat文件,内容如下:

@echo 开始注册
copy api-ms-win-downlevel-shlwapi-l1-1-0.dll %windir%\system32\
regsvr32 %windir%\system32\api-ms-win-downlevel-shlwapi-l1-1-0.dll /s
@echo api-ms-win-downlevel-shlwapi-l1-1-0.dll注册成功
@pause

step3:双击执行register_my.bat文件即可

32位系统我没有试过,但根据[1]中所述,我估计可能是在step1中将32位的dll文件复制到C:\Windows\System32路径下,其他不变。

运行程序时出现如下错误(应该是弹出如下对话框):

应用程序无法正常启动(0x000007b)。请单击“确定”关闭应用程序

笔者出现这样的错误是因为在step1中复制的是64位的dll到C:\Windows\SysWOW64路径下的,后改成复制32位的dll就好了。

参考文献

[1] api-ms-win-downlevel-shlwapi-l1-1-0.dll

你可能感兴趣的:(windows)