windows 11 运行老游戏需启用 .net framework 3.5 和 4.8,推荐用匹配版本的官方 iso 挂载 sources\sxs 后通过 dism 命令一键启用,或使用 directx 修复工具自动部署。

你在 Windows 11 上启动老游戏或游戏启动器时,反复弹出“缺少 .NET Framework”“无法找到指定模块”“0x800F0922”或直接闪退,说明系统缺失关键运行环境——不是.NET 6/7/8没装好,而是传统游戏强依赖的 【.NET Framework 3.5 和 4.8】 根本没启用或压根不存在,而 Win11 默认不预装这两个版本,联网启用又常因内网策略、服务异常或家庭版限制失败。
用原版 ISO 挂载 sources\sxs 一次性启用双版本
这是最稳、最快、复用率最高的方案——你手头只要有一份与当前系统完全匹配的 Windows 11 官方 ISO(比如你的系统是 23H2 Build 22631,ISO 也必须是同版本),就能直接调用微软原生安装文件,彻底避开版本错配和下载中断风险。
第一步:右键点击 Windows 11 ISO 文件 → 选择“装载” → 记下系统分配的盘符(如 E: 或 F:);若使用安装 U 盘,请确认其已识别且盘符稳定。
第二步:打开该盘符 → 进入 sources\sxs 文件夹 → 确认内部存在大量以 netfx3 和 netfx4 开头的 .cab 文件;如果文件夹为空或报“访问被拒绝”,说明镜像损坏或挂载异常,需换一份 ISO 重试。
第三步:右键“开始”按钮 → 选择“Windows 终端(管理员)” → 依次执行以下两条命令(将 E: 替换为你实际的盘符):
dism /online /enable-feature /featurename:NetFx3 /All /Source:E:\sources\sxs /LimitAccess
dism /online /enable-feature /featurename:NetFx4 /All /Source:E:\sources\sxs /LimitAccess
每条命令执行后必须看到终端输出“操作成功完成”字样才可进行下一步;若卡在“正在启动部署服务”超过 90 秒,立即关闭终端,检查 Windows Modules Installer 服务是否已手动启动。
单独部署官方 CAB 包(只装 3.5 或只装 4.8)
适用于你已明确只需一个版本(比如老游戏只报“.NET 3.5 缺失”),或手头只有单个 CAB 文件、没有完整 ISO 的轻量场景。注意:.NET 4.8 的离线包不能用 .NET 4.7.x 的包替代,版本号必须严格对应。
方法一:安装 .NET Framework 3.5 独立 CAB
从微软官方支持页面下载 Microsoft-Windows-NetFx3-OnDemand-Package.cab(务必选中与你系统版本一致的 build 号)。
将该 CAB 文件复制到不含中文与空格的路径,例如:C:\netfx3\microsoft-windows-netfx3。
右键“开始”按钮 → 选择“Windows 终端(管理员)” → 执行命令(路径按实际调整):
dism /online /add-package /packagepath:C:\netfx3\microsoft-windows-netfx3.cab
方法二:安装 .NET Framework 4.8 独立 CAB
下载 Microsoft-Windows-NetFx4-OnDemand-Package.cab,同样存至无中文无空格路径,如 C:\netfx4\。
在管理员终端中执行:
dism /online /add-package /packagepath:C:\netfx4\microsoft-windows-netfx4.cab
用 DirectX 修复工具一键补齐运行库
如果你不想折腾命令行、也不确定自己系统具体缺哪个版本,这个方法适合小白用户——它内置了 .NET Framework 3.5/4.8 的离线安装模块,还能同步修复 VC++ 和 DirectX 组件,避免漏装。
下载官方正版 DirectX 修复工具(推荐 v4.1 以上版本),解压后以管理员身份运行主程序。
点击「游戏运行环境修复」→ 勾选“.NET Framework 3.5”和“.NET Framework 4.8” → 点击「开始修复」。
工具会自动检测系统状态,跳过已启用项,仅部署缺失组件;修复完成后提示“所有任务已完成”,无需手动重启,但建议重启一次确保注册表和服务加载生效。











