遇到如上图的api-ms-win-crt-runtimel1-1-0.dll缺失的问题,是我在安装IAR软件后打开软件提示的错误,
可能有软件安装后也会调用这样的一个C链接库,没有那个*.dll文件同样也会出现这样的问题,这个问题
也折腾了好久最后找到了原因所以分享一下。最初尝试在网上直接下载api-ms-win-crt-runtimel1-1-0.dll这个
文件放dll运行库的根目录下,发现这个方法不正确。
参考了下面的博客https://www.microsoft.com/zh-cn/download/details.aspx?id=48145
分析: 首先,安装vc_redist.exe程序解决,官网链接
https://www.microsoft.com/zh-cn/download/details.aspx?id=48145
选择32/64位来安装,安装成功就ok,但是实际上大部分可能是不成功的,为什么这么说,因为很多软件
在安装时会自动添加Microsoft Visual C++ 2015 RC Redistributable(X86/64),例如我安装的IAR 8.20,所以安装好软件后,在控制面板\所有控制面板项\程序和功能 里面是能看到
Microsoft Visual C++ 2015 RC Redistributable(X86/64),实际上我觉得它是安装不成功的所以你要修复它,
但是当你修复它时又会出现修复失败的提示,这个问题时一环套一环,所以又要打补丁。
具体操作如下【参考博客www.microsoft.com/zh-cn/download/details.aspx?id=48145】
操作: 但是对于有些电脑系统,还会出现这些情况,提示安装失败:
查看一下日志文件:
可以看到是更新程序出了问题,我们查看一下系统的事件,
右击计算机->管理->左侧的 事件查看器->Windows日志->Setup,如下
我们查看他的详细信息,发现是有一个更新打不上:
对,就是KB2999226这个补丁程序。
安装KB2999226补丁程序
补丁码:KB2999226
链接:https://www.microsoft.com/zh-cn/download/details.aspx?id=49077
这个链接是针对win7的,若想要别的,直接在微软官网搜索补丁号即可。
有些时候系统无法更新,关于系统无法更新,若有这个问题,后文叙述。
我们安装的时候可能会发现还是安装不上,查了一下这个补丁程序的系统要求:
系统要求是windows7 SP1。估计大多数的问题就在这了,MSU KB2999226不能安装的原因就是系统不是Win7 SP1,只有更新到SP1才能更新这个补丁。所以把系统更新到SP1即可。
更新到Win7 SP1
现在把系统更新到SP1。
Win7 SP1 的补丁码是 KB976932,
链接:https://www.microsoft.com/zh-cn/download/details.aspx?id=5842
有时候会发现补丁安装失败,如果真的出现了,那就这样做吧:进系统后,关闭安全程序,最好设置不开机启动,等到安装完成后,拔网线重启,然后就马到功成了。
这时,我们就能正确安装了,对那个补丁MSU的补丁要不要专门安装一次也无所谓。然后再次安装VC redit.exe就行了。
无法安装更新解决方案-删除目录:
1.打开cmd,关闭wuauserv服务,执行
net stop wuauserv
- 1
2.打开windows目录,或者直接win+R 运行 %windir%打开目录
3.找到一个文件夹SoftwareDistribution,删掉或者改名都行,这是更新程序使用的文件夹
4.开启wuauserv服务,执行
net start wuauserv
- 1
综述:
1. 检查系统是不是win7 SP1,若不是,打Kb976932补丁
2. 安装MSU的KB2999226补丁
3. 若无法更新,删除目录解决
4. 再次安装VC redit.exe
分析:假如以上操作成功了,那么恭喜你安装成功了。但是我没有,我在安装KB2999226这个补丁程序
(Windows6.1-KB2999226-x86.msu)时有提示错误,提示:
此更新不适用你的计算机。于是又做了如下的操作:
将Windows6.1-KB2999226-x86.msu放在C:\update\目录下
电脑开始,运行,输入CMD打开DOS窗口,分别执行下面两句。红色部分就是自己的更新程序了。其他安装同理
例如Windows8.1-KB2919442-x86.msu 等
1 expand –F:* C:\update\Windows8.1-KB2999226-x86.msu C:\update\
2 dism.exe /online /Add-Package /PackagePath:C:\update\Windows8.1-KB2999226-x86.cab
假设如上的操作成功那么你就安装成功了,但是可能还有人和我一样又出现了如下的错误
然后又折腾了一下,发现是某个服务没有开启,即Windows Modules Installer被禁用了,于是开启该服务后,
就成功安装了,如下图
个人总结:折腾了好久终于安装成功了,成功打开IAR。总结发现很多软件安装问题出现的问题都是一层
嵌套一层,要一层一层解决很容易让人放弃,个人认为:
1、首先,除了在网上搜索解决方案的同时,也要仔细分析出现错误的原因,通过分析一些windows的日志文件来寻找一些蛛丝马迹,这样有的放矢,才能跟快的解决问题。
2、其次,windows的系统服务也很重要,考虑的电脑开机速度等原因我们会禁掉一些服务,但是有些
服务在某些场合还是至关重要的,比如安装软件或使用软件时出现异常的情况,所以还是要关注windows的
服务是否开启,出现异常情况可能是哪些服务不正常工作导致的,有些服务的开启可能还关联其他服务,也是
要一层一层分析解决。