1   什么是运行库
2   安装软件或运行软件时提示dll缺失等现象产生的原因
使用不同框架环境来开发的程序需要相对应的运行库才能正常工作,例如VC的程序需要VC运行库,VB的程序需要VB运行库,java程序需要Java Runtime一样,而使用 .Net 开发的程序需要在 .NET Framework下才能运行。
而纯净的windows系统是不自带有以上这些库或者内置一个版本的库。比如windows系统不自带VC库和java runtime;win10自带的.net框架一般为4.7(老版本的win10可能为4.6或者更早);win10自带的dx则为dx12。当系统无法提供程序所需的库时,例如没有该库,或者内置库与程序所需的版本不一致,又或者相应库文件已损坏,那么便会弹出dll缺失等运行库问题的错误提示窗口。
3   解决方法
请根据错误提示窗口的信息找对应的工具,「.dll缺失」一般排查DX或者VC库即可,「.net framework缺失」一般排查NET框架即可。
4   DX库和VC库修复:
注:请注意要下载增强版,增强版才含有VC库(上述链接便是增强版的)。
DX修复工具修复VC失败的调试信息查看:
- 工具->选项->常规->(勾选)修复失败时启用调试信息
- 执行「检测并修复」
- 点击修复失败的项目(软件中会显示蓝色链接),如果有显示未修复文件的具体明细,右击文件选择「在线修复」。如果没有文件明细,只有针对某个C++具体版本的错误描述,右击选择「更多提示」,看完提示后再次右击项目,有可能出现「切换至详细列表」,这时候使用「在线修复」即可解决。
4.1   vc库无限报错弹窗
安装和卸载vc2017库出现弹窗,标题为Microsoft Visual C++ 2017 x64 Minimum Runtime - 14.10.25008,内容提示为 vc_runtimeAdditional_x64.msi is not a valid installation package for product Microsoft Visual C++ 2017 x64 Minimum Runtime - 14.10.25008。
解决方式:使用官方的故障排除程序(troubleshooter)先卸载掉已存在的残留安装信息,然后重新安装vc库。
4.2   vc库安装提示「请确认C:\ProgramData\Package Cache
文件夹存在并且有访问权限」
故障现象:安装vc2015-2022库失败,dx修复工具提示「请确认C:\ProgramData\Package Cache
文件夹存在并且有访问权限」
解决方法:
- 先执行常规的卸载,然后使用官方的故障排除程序(troubleshooter)先卸载掉已存在的残留安装信息。
- 强制删除
C:\ProgramData\Package Cache
路径下的所有文件。 - 下载最新的vc库安装包安装,一般先装好x86,再装x64。
5   .NET框架
注:请自己选择需要的版本下载并进行安装。建议安装或修复运行库后请重启系统。关于版本选择,请看以下说明!!!
注意!!!.Net Framework版本关系:
.Net版本并非完全独立,但也不支持向下兼容。目前为止微软推出了3个版本的CLR,分别是 1.1、2.0 、4.0。 .Net 4是基于CLR4的,而.Net 2.0 3.0 3.5都是基于 CLR2.0, 3.0 3.5其实只是在2.0的基础上增加了新的功能,并没有改变CLR。
换而言之,你的程序需要2.0/3.0/3.5之中的任意一个版本时,安装.Net 3.5 SP1就可以了。
所以,如果只是想扩展系统的运行库的话,以win10 OS为例,那么只需要选择安装.Net 3.5 SP1和.Net 4.8(最新的.Net 4.X的就行,4.8是我当初写该教程时最新的版本)
5.0.1   Win10 .Net Framework 3.5 安装错误 0x800f0950 / 0x800F0954
问题:一般是系统更新程序WUserver无法争取获取更新文件,可能是由于精简或者相关服务项被禁用导致引起。
解决方法:
- 使用离线方式安装(推荐此法)
- 恢复WUserver的正常运行,确保在线安装的功能可以正常获取更新文件
离线方式安装步骤:
- 下载当前系统版本所对应的系统镜像
- 把source文件夹中的sxs文件夹解压出来,例如
C:\path\sxs
- 管理员身份打开powershell,运行安装命令:
dism.exe /online /enable-feature /featurename:NetFX3 /Source:C:\path\sxs
6   参考文献
[1] The Visual C++ missing error PLAGUE! Here’s how to fix that pesky missing .MSI file in 5 easy steps![EB/OL]. https://www.youtube.com/watch?v=ybr5ExVOlqI.
[2] 安装.NET Framework 3.5 Error 0x800f0950 in Windows 10[EB/OL]. https://blog.csdn.net/sinat_29315697/article/details/90438542.
[3] Win10 .Net Framework 3.5 安装错误 0x800F0954[EB/OL]. https://blog.csdn.net/u012722571/article/details/106336899.
[4] DirectX修复工具使用技巧之二——手动修复C++创建失败的文件[EB/OL]. https://blog.csdn.net/VBcom/article/details/114080642.