最近碰到一個問題,在我軟件安裝或運行時會提示缺少api-ms-win-crt-runtime-|1-1-0.dll
當然第一個想到的是運行庫沒有裝,但是很清楚的是我的電腦是裝過vc_redist_2015.x64.exe,可是為什么還是不行了,為此百度了各種方法丟失的解決方法
所以對應就有兩種方法:
一、下載對應的vs2015運行庫和KB2999226補丁程序
補丁程序可在microsoft官網下載,官網地址:https://www.microsoft.com/zh-cn/download/
先來看下錯誤圖
檢查第一步,我還是重新把vs運行時庫裝了一邊,雖然知道還是不行,還是再次安裝了下,在運行時按着預期的來了,程序運行還是報錯
檢查第二步,將下載的KB2999226補丁程序程序安裝后,完美解決了
那很多人到官網上不知道怎么下載,那我來截個圖說明下,打開miscrosoft官網下載地址:https://www.microsoft.com/zh-cn/download/
在搜索框中輸入要下載的程序名
例如,我這里下載的是KB2999226補丁,找到對應系統的windows補丁,下載就可以了
這里提供下win7_64的補丁位置,其他的自己找就可以了
https://www.microsoft.com/zh-cn/download/details.aspx?id=49093
二、直接拷貝正確的文件
當然還有一個最簡單的方法,在正常運行的機子上將庫文件直接拷貝過去,運行就正常了
1、到正常的機器,或者就在開發環境,去搜索api-ms-win-crt-runtime-l1-1-0.dll文件。
結果在C:\windows\system32,以及C:\Windows\SysWOW64,以及C:\Program Files (x86)\Mozilla Firefox中都找到了該文件。
三個目錄下都有,到底選哪個呢?涉及到一個新的64位系統32位dll的問題。正常運行的系統是win7_64,並且程序也是64位的,所以就到syswow64下去拷貝了
規則如下:
a、64位操作系統,32位程序,選擇syswow64下dll
b、64位操作系統,64位程序,選擇system32下dll
c、32位操作系統,32位程序,選擇system32下dll
2、拷貝所有api-ms開頭的dll,以及msvcp140.dll,vcruntime140.dll,ucrtbase.dll到程序目錄。