计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll的疑难杂症解决方法

故障:

xxx.exe - 系统错误
无法启动此程序,因为计算机中丢失 api-ms-win-crt-runtime-l1-1-0.dll 。尝试重新安装该程序以解决此问题。

今天,某网友电脑上的这问题差点让我怀疑人生。

正常来说,api-ms-win-crt-runtime-l1-1-0.dll可以通过安装vc2015或vc2017得来。

实际上就是补丁kb2999226,2015和2017安装过程中会安装这个补丁,由于2017是2015的升级版,所以只安装2017就可以了。

我就是这样建议的。

结果安装了vc2017依旧弹出下面提示:
计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll的疑难杂症解决方法_第1张图片
于是我建议单独更新kb2999226,结果弹出提示已安装?

计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll的疑难杂症解决方法_第2张图片
?!!!
为了不丢面子,我只能建议安装微软运行库合集,结果全装了,还是提示丢失这个文件。
慌啊,我赶紧再次翻看了kb2999226补丁,可以看到确实是包含这个文件的。
计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll的疑难杂症解决方法_第3张图片
之前我还嘲笑别的网友,关于建议网上搜索下载这个文件放到system32运行出错。报应,这么快就到我了。

无法定位程序输入点 ucrtbase.abort于动态链接库api-ms-win-crt-runtime-l1-1-0.dll上。

计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll的疑难杂症解决方法_第4张图片
绞尽脑汁想了下,建议卸载kb2999226补丁,重新安装。

wusa /uninstall /kb:2999226

结果:
计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll的疑难杂症解决方法_第5张图片
这是堵死了所有退路了啊。无话可说,我埋头虚拟机继续测试。

试了好几遍后,终于发现安装kb2999226后,删除了所有api-ms-win-crt-runtime-l1-1-0.dll,就会出现上面的问题。

我虚拟机里还能用命令卸载kb2999226,网友电脑上的这个补丁估计是彻底损坏了,还残留些东西。

  • 在虚拟机测试,故障情况下,卸载kb2999226补丁,重启。
  • everything搜索api-ms-win-crt-runtime-l1-1-0.dll,结果空白。
  • 安装kb2999226过程everything结果页面闪现了一下好几个dll文件,又消失了。

试了好几遍都是上面这样,有点灰心了。最后发现卸载补丁后,不安装补丁,而是安装运行库,试了一遍能行!补丁也被运行库装上了。

于是考虑网友电脑上的解决办法:删除相关文件,相关注册表,再安装运行库。

再找网友时,网友已经放弃准备重装系统了。为了挽回面子,死皮赖脸求网友要求远程协助。

远程协助相关过程如下:

1.下载软件nsudo、everything、registry workshop。

2.打开nsudo,启用全部特权,浏览打开everything和registry workshop。
计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll的疑难杂症解决方法_第6张图片
3.everything里搜索api-ms-win-crt-runtime-l1-1-0.dll,删除system32和syswow64目录残留的,再搜索删除kb2999226(网友电脑一个相关文件都没有)。

4.registry workshop里搜索删除kb2999226,只有几条残留的,都删了(不懂的建议先导出备份)。

删除后能正常安装kb2999226了,不过我没安装。

先把网友电脑控制面板卸载程序里的vc2015和vc2017都卸载了,再安装vc2015,安装好后问题软件正常打开!实际上安装2017就可以了,不过总的来说问题解决了。^_^

PS:如果安装kb2999226时,提示此补丁不适用当前系统,可能是你的win7没升级到SP1( Service Pack 1)。

2019年9月8日,补充
今天在另一个网友电脑上,遇到了同样问题。win8.1 x64系统,打开文明6出现的问题。
尝试:

  • nsudo配合everything搜索api-ms-win-crt-runtime-l1-1-0.dll,删除掉系统目录的。
  • 安装vc2015,卡在windows8.1 x64的安装进度上半天不动,最后结束wusa.exe进程,停止安装
  • 运行wusa /uninstall /kb:2999226卸载补丁,成功卸载,再次安装,卡在“正在此计算机上搜索更新”。结束wusa.exe进程后,无法再次安装补丁kb2999226。
  • nsudo配合everything、RegistryWorkshop,删除kb2999226相关文件、注册表,能再次安装,还是卡在“正在此计算机上搜索更新”
  • 停止windows更新服务,重命名C:\Windows\SoftwareDistribution文件夹,再次启用windows更新服务,安装补丁还是卡着
  • 下载directxrepair,勾选修复api sets,修复后,系统目录没有生成api-ms-win-crt-runtime-l1-1-0.dll
  • 考虑到系统更新可能出问题了,采用dism强制安装补丁。解压kb2999226,管理员命令行,执行命令:
dism /online /add-package /packagepath:"kb2999226解压的cab路径"

执行后,系统目录生成api-ms-win-crt-runtime-l1-1-0.dll。再安装vc2017运行库后,正常打开游戏。

你可能感兴趣的:(操作系统)