最近在某台预装 Windows 10 的电脑上安装 .Net Framework 3.5 死活安装不上,在线的、离线的,各种方式都试过了,都是无法完成修改,让你重启电脑再尝试。当然重启也是没用的。百度了一下,没有找到什么可行的解决办法。难道是系统有什么地方损坏了?于是想起以前用命令行修复系统的方法还挺好用的,就又找出来尝试了一遍。方法如下:

鼠标右键开始按钮 > 点击"命令提示符"(以管理员身份运行 ),输入:

Dism /Online /Cleanup-Image /ScanHealth

这条命令将扫描全部系统文件并和官方系统文件对比,扫描计算机中的不一致情况。

Dism /Online /Cleanup-Image /CheckHealth

这条命令必须在前一条命令执行完以后,发现系统文件有损坏时使用。

DISM /Online /Cleanup-image /RestoreHealth

这条命令是把那些不同的系统文件还原成官方系统源文件。

正常来说完成后重启,无论以上是否成功,再键入以下命令:

sfc /SCANNOW

这一向都很灵光的方法这次却失败了,在执行 DISM /Online /Cleanup-image /RestoreHealth 时就提示错误代码:0x800f0954

这个错误代码与安装 .Net Framework 3.5 时出现的错误代码可不一样,我就再搜了一下该错误代码,误打误撞竟然找到很多资料。

经查为:有可能有启用内部WSUS伺服器,且该伺服器无法让你正确下载 .Net Framework 3.5,解决方法可以先关闭 WSUS 功能,直接透过官方更新。

可以修改一个注册表的值解决。

1、WIN+R 运行 regedit,找到注册表路径:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU

在右侧列表中找到键值名 UseWUServer, 修改它的值,改为 0 。

2、进入“计算机管理 > 服务”,重启 Windows Update 服务,或在 Powershell 中执行

Restart-Service wuauserv

3、重新执行 Dism 命令,执行成功!然后重启电脑后我又重新尝试安装 .Net Framework 3.5 ,也成功安装上。

4、最后恢复注册表的值,把注册表修改的值修改回去,并重启 Windows Update 服务。

系统上的问题有时候很奇妙,当你找不到解决方式时,继续捣鼓一下就会突然出现某种契机让你找到解决之道。