api-ms-win-crt-runtime-l1-1-0.dll类文件缺失
在电脑使用过程中,有的朋友可能会遇到api-ms-win-**.dll缺失的问题,导致一些软件或游戏无法正常运行。这一问题的解决方法网上有些介绍,但具体原因分析似乎没有。对此,本人通过多次系统安装、比较和分析,获得了一些认知,在此分享给大家。
操作方法
- 01
api-ms-win-**.dll类文件,可能是Windows系统自身文件,如果不加以区分,往往会遇到修复失败的问题。以Win7 SP1旗航版(原版)为例,系统安装后,一般包含如下文件(隐藏属性): api-ms-win-core-console-l1-1-0.dll api-ms-win-core-datetime-l1-1-0.dll api-ms-win-core-debug-l1-1-0.dll api-ms-win-core-delayload-l1-1-0.dll api-ms-win-core-errorhandling-l1-1-0.dll api-ms-win-core-fibers-l1-1-0.dll api-ms-win-core-file-l1-1-0.dll api-ms-win-core-handle-l1-1-0.dll api-ms-win-core-heap-l1-1-0.dll api-ms-win-core-interlocked-l1-1-0.dll api-ms-win-core-io-l1-1-0.dll api-ms-win-core-libraryloader-l1-1-0.dll api-ms-win-core-localization-l1-1-0.dll api-ms-win-core-localregistry-l1-1-0.dll api-ms-win-core-memory-l1-1-0.dll api-ms-win-core-misc-l1-1-0.dll api-ms-win-core-namedpipe-l1-1-0.dll api-ms-win-core-processenvironment-l1-1-0.dll api-ms-win-core-processthreads-l1-1-0.dll api-ms-win-core-profile-l1-1-0.dll api-ms-win-core-rtlsupport-l1-1-0.dll api-ms-win-core-string-l1-1-0.dll api-ms-win-core-synch-l1-1-0.dll api-ms-win-core-sysinfo-l1-1-0.dll api-ms-win-core-threadpool-l1-1-0.dll api-ms-win-core-util-l1-1-0.dll api-ms-win-core-xstate-l1-1-0.dll api-ms-win-security-base-l1-1-0.dll api-ms-win-security-lsalookup-l1-1-0.dll api-ms-win-security-sddl-l1-1-0.dll api-ms-win-service-core-l1-1-0.dll api-ms-win-service-management-l1-1-0.dll api-ms-win-service-management-l2-1-0.dll api-ms-win-service-winsvc-l1-1-0.dll 此类文件异常或缺失,请按如下步骤尝试修复: 1、此问题有些时候是磁盘错误引起,对系统分区进行磁盘查错,尝试修复。注:磁盘查错需要较长的时间。 Win7操作:打开桌面“计算机”,“系统磁盘”右键--属性--工具--查错--开始检查--二项全选--开始。如提示:强制卸除,取消;计划磁盘检查,确认,请重启电脑进行检查。 通用操作:Ctrl+Shift+Esc--文件--Ctrl+鼠标单击“新(建)任务”;黑窗中键入 chkdsk /r %systemdrive% 回车,如提示:强制卸除此卷?选择“n”,计划下次重启检查?选择“y”,请重启电脑进行检查。 检查结束后,观察是否正常,如果还有问题,继续。 2、利用360工具修复系统文件。打开360系统急救箱,检测和更新结束后,单击右下角“修复系统文件”,单击“手工添加”,输入报错文件名,单击“添加”进行修复。如担心还有其它系统文件异常或缺失,则直接选择“扫描修复”。
- 02
api-ms-win-**.dll类文件,也可能是Windows通用C运行库(Universal C Runtime)文件。该运行库是通过Windows Update更新安装到系统的,更新的编号为KB2999226(10.0.10240.16390)或KB3118401(10.0.10586.9),组件如下: api-ms-win-core-file-l1-2-0.dll api-ms-win-core-file-l2-1-0.dll api-ms-win-core-localization-l1-2-0.dll api-ms-win-core-processthreads-l1-1-1.dll api-ms-win-core-synch-l1-2-0.dll api-ms-win-core-timezone-l1-1-0.dll api-ms-win-core-xstate-l2-1-0.dll api-ms-win-crt-conio-l1-1-0.dll api-ms-win-crt-convert-l1-1-0.dll api-ms-win-crt-environment-l1-1-0.dll api-ms-win-crt-filesystem-l1-1-0.dll api-ms-win-crt-heap-l1-1-0.dll api-ms-win-crt-locale-l1-1-0.dll api-ms-win-crt-math-l1-1-0.dll api-ms-win-crt-multibyte-l1-1-0.dll api-ms-win-crt-private-l1-1-0.dll api-ms-win-crt-process-l1-1-0.dll api-ms-win-crt-runtime-l1-1-0.dll api-ms-win-crt-stdio-l1-1-0.dll api-ms-win-crt-string-l1-1-0.dll api-ms-win-crt-time-l1-1-0.dll api-ms-win-crt-utility-l1-1-0.dll api-ms-win-eventing-provider-l1-1-0.dll(KB3118401不含此文件) ucrtbase.dll
- 03
系统是否安装了此类更新,可以通过查看“系统信息”来判断,操作:Win键+R,输入 cmd /k systeminfo.exe 确定。当然,也可以打开系统控制面板中的“程序和功能”/“添加/删除程序”或者使用第三方工具来查看。
- 04
如果系统中未安装KB2999226、KB3118401更新,则利用系统Windows Update扫描更新安装,或者单独下载更新进行手动安装。 KB2999226、KB3118401更新适用于下列操作系统,请注意SP1、SP2的系统环境要求,如果不满足条件,将无法正常安装。 Windows Server 2012 R2 Windows 8.1 Windows RT 8.1 Windows Server 2012 Windows Server 2008 R2 Service Pack 1 (SP1) Windows 7 Service Pack 1 (SP1) Windows Server 2008 Service Pack 2 (SP2) Windows Vista Service Pack 2 (SP2) 注:Windows RT 8.1只能从Windows Update下载安装。 KB2999226、KB3118401 微软下载链接: KB2999226 https://support.microsoft.com/en-us/help/2999226/update-for-universal-c-runtime-in-windows KB3118401 https://support.microsoft.com/en-us/help/3118401/update-for-universal-c-runtime-in-windows 下载链接为英文页面,可转换到简体页面下载。方法如下: 1、打开页面上,根据系统版本选择对应的下载按钮; 2、新打开页面上,“Select Language”处选择“Chinese(Simplified)”进入中文页面,然后下载更新。 此外,VC++2015/2017运行库安装包中包含KB2999226/KB3118401补丁包,所以,还可以通过安装VC运行库来来解决问题: 方法一、下载 Visual C++ 2015 Redistributable(x86/x64),根据自己的系统需求选择,安装成功即可。微软链接 https://www.microsoft.com/zh-cn/download/details.aspx?id=48145 方法二、360软件管家中,搜索下载“微软常用运行库合集”(32位/64位)安装,安装时只保留“Microsoft Universal C Runtime”,或者,只保留“Visual C++ Redistribute Package 2017”进行。
- 05
如果系统中已经安装了KB2999226或KB3118401更新,则DLL异常、缺失,大多是磁盘错误引起,按如下步骤修复: 1、系统分区磁盘查错。Ctrl+Shift+Esc--文件--Ctrl+鼠标单击“新(建)任务”;黑窗中键入 chkdsk /r %systemdrive% 回车,如提示:强制卸除此卷?选择“N”,计划重启检查?选择“Y”,重启电脑进行检查,时间较长。 检查结束后,观察是否正常,如果还有问题,继续。 2、卸载更新,重新安装。如果KB2999226、KB3118401都安装过,则选择KB3118401卸载,然后重新安装。 以W7系统为例:开始--控制面板--程序和功能--查看已安装的更新:根据编号找到更新右键选择“卸载”,重启电脑后,利用Windows Update扫描更新安装,或者利用其它方法进行安装。
- 06
如果系统是使用集成了VB/VC运行库的映像安装的,或者是使用过系统“磁盘清理”清除过“Windows 更新”,在卸载KB2999226或KB3118401更新时,将会遇到无“卸载”选项的问题,修复方法上面已作了介绍。在修复无效的情况下,可以尝试提取KB2999226或KB3118401中的DLL文件进行替换解决。具体步骤: 1、新建一文件夹,如 d:\KB; 2、按照前面介绍,下载KB2999226或KB3118401更新,存放到KB中; 3、利用批处理来提取DLL文件。打开系统“记事本”,复制粘贴批处理内容,然后选择“另存为”,选择路径到D:\KB,“文件名”输入GetDll.bat,“保存类型”选择“所有文件(*.*)”,保存。复制内容如下: @echo off set pn=%~dp0 if "%pn:~-1%"=="\" set pn=%pn:~0,-1% for /f "delims=" %%i in ('dir %pn%\*.msu /a-d /b 2^>nul') do ( if not exist %pn%\%%~ni md %pn%\%%~ni start /wait %%i /extract:%pn%\%%~ni expand %pn%\%%~ni\%%~ni.cab /f:*.dll %pn%\%%~ni ) echo.&pause 双击运行批处理提取DLL文件,然后找到对应的DLL文件复制到系统目录覆盖替换原文件(或复制到所需软件的安装目录)。 文件替换可能会因权限问题而无法进行,对此,先在原文件上右键选择“管理员取得所有权”,然后再进行替换。如果右键没有管理员权限菜单,可利用360方案处理:打开360人工服务,输入“管理员权限右键增加管理员权限”查找方案修复。