错误代码0x800F0954本质是系统无法找到有效安装源,主因包括WSUS策略强制指向无效服务器、Windows Update服务/缓存损坏(SoftwareDistribution与catroot2异常)、或本地sources\sxs缺失;修复需三步:修改注册表UseWUServer为0以绕过WSUS,重置四大更新服务并重命名缓存文件夹,最后在断网或受限环境下用DISM指定ISO内sxs路径并加/LimitAccess参数强制离线安装。

Windows更新时弹出“错误代码0x800F0954”,提示“Windows无法完成请求的更改”,常见于安装.NET Framework 3.5、语言包、可选功能或安全补丁过程中,本质是系统找不到可用的安装源,且无法回退到本地或离线路径。
先确认是否被WSUS策略锁死
企业环境或曾加入域的电脑,常被组策略强制指向内部WSUS服务器,而该服务器未托管所需组件——此时系统会彻底放弃联网查找,直接报0x800F0954。
按下 Win + R,输入 regedit 回车,打开注册表编辑器。
导航至:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
在右侧找到 UseWUServer 项,双击将其数值数据改为 0。若该项不存在,无需创建——说明未受WSUS策略管控,跳过此步。
关闭注册表编辑器,这一步必须做完才能继续后续操作,否则所有重试都无效。
重置Windows Update底层服务与缓存
损坏的SoftwareDistribution和catroot2文件夹会导致DISM和CBS引擎拒绝加载任何新组件,哪怕网络通畅也会卡在0x800F0954。
方法一:命令行一键重置(推荐)
以管理员身份运行命令提示符或PowerShell,依次执行:
net stop wuauservnet stop bitsnet stop appidsvcnet stop cryptsvcren C:\Windows\SoftwareDistribution SoftwareDistribution.oldren C:\Windows\System32\catroot2 catroot2.oldnet start wuauservnet start bitsnet start appidsvcnet start cryptsvc
方法二:图形化操作(适合不熟悉命令行的用户)
按 Win + R 输入 services.msc → 找到 Windows Update、Background Intelligent Transfer Service (BITS)、Cryptographic Services、Application Identity → 分别右键“停止”,再手动进入 C:\Windows 和 C:\Windows\System32,将 SoftwareDistribution 和 catroot2 文件夹重命名为带 .old 后缀的名称 → 最后全部右键“启动”。
重启后不要立刻点安装,等1分钟让服务完全初始化,再尝试启用功能。
强制指定本地安装源(无网络或内网受限时)
当公司断外网、使用LTSC精简版、或Ghost镜像丢失sources\sxs目录时,系统连本地源都找不到,必须人工喂给它路径。
第一步:挂载Windows ISO镜像
从微软官网下载对应版本的Windows 10/11 ISO(如Win11 22H2),右键ISO文件→“装载”,记住分配的盘符(比如E:)。
第二步:用DISM命令精准指定源
管理员命令提示符中执行:
dism /online /enable-feature /featurename:NetFx3 /all /Source:E:\sources\sxs /LimitAccess
如果要装语言包,把NetFx3换成Language.Basic~~~zh-CN~0.0.1.0这类实际FeatureName(可用dism /online /get-capabilities | findstr "zh-CN"查);/LimitAccess参数至关重要——它禁止DISM再去联网,避免再次触发0x800F0954。
第三步:验证是否生效
执行 dism /online /get-features | findstr NetFx3,输出中出现 State : Enabled 即成功。


















