注:本文整合多篇技术文档,如有内容异常,请看原文
.NET Framework 3.5 安装
1. 概述
.NET Framework 3.5(包含 .NET 2.0 与 3.0)是 Windows 系统的可选功能(Optional Feature),部分旧版业务应用程序仍依赖此运行时环境。默认情况下,Windows 10/11 仅预装 .NET Framework 4.8,因此需要手动启用 .NET 3.5。
启用该功能时,操作系统必须获取 Feature on Demand 载荷文件(feature payload)。载荷来源有两个:
- Windows Update:通过 Internet 从 Microsoft 服务器下载;
- 本地 SxS 源 :从与目标系统版本、构建号(build)及语言匹配的 Windows 安装介质的
\sources\sxs目录获取。
在 WSUS(Windows Server Update Services)管理的环境中,客户端通常被配置为仅使用内部更新服务,无法直接访问 Microsoft 公共 Windows Update 端点,因此图形界面的功能启用向导常因无法下载载荷而失败。WSUS 可以在 .NET 3.5 安装完成后为其分发补丁和安全更新,但不能直接部署 .NET 3.5 功能本身。
2. 前置条件
| 前置条件 | 说明 |
|---|---|
| 操作系统 | Windows 10、Windows 11 或 Windows Server 2012 及更高版本 |
| 权限 | 需要本地管理员权限 |
| 运行环境 | PowerShell 或命令提示符需以管理员身份运行 |
| 安装介质(离线场景) | 与目标系统版本、构建号、语言/版本匹配的 Windows ISO、DVD 或 USB 安装介质 |
| 网络(在线场景) | 稳定的 Internet 连接,且未被防火墙或代理阻止 |
2.1 验证现有安装状态
在安装前,建议先检查系统是否已启用 .NET Framework 3.5。
PowerShell 方式:
powershell
Get-WindowsOptionalFeature -Online -FeatureName NetFx3
若返回 State : Enabled,则表明该功能已启用。
DISM 方式:
cmd
DISM /Online /Get-FeatureInfo /FeatureName:NetFx3
Server 版本功能查询:
powershell
Get-WindowsFeature -Name NET-Framework-Features
查看 NET-Framework-Core 项的状态。
3. 安装方法
根据网络环境和管理需求,可选择以下四种部署路径:
| 场景 | 推荐方法 | 说明 |
|---|---|---|
| 客户端可访问 Internet,无 WSUS 限制 | 在线安装(GUI 或 PowerShell) | 从 Windows Update 自动下载载荷 |
| 客户端无法访问 Internet,或需完全可控 | 离线安装(DISM / PowerShell + SxS) | 使用本地安装介质或网络共享的 sources\sxs |
| WSUS 管理环境,允许访问 Microsoft 更新 | GPO 策略:允许从 Windows Update 下载可选功能 | 保留 WSUS 主补丁流程,仅可选功能走 Windows Update |
| WSUS 管理环境,无 Internet 访问 | GPO 策略:指定内部 SxS 源路径 | 客户端从内部文件共享拉取载荷 |
3.1 在线安装
3.1.1 图形界面方式
-
按
Win + R,输入optionalfeatures,回车打开"启用或关闭 Windows 功能"。
-
勾选 .NET Framework 3.5(包括 .NET 2.0 和 3.0),单击"确定"。

-
在弹出的选项中,选择 让 Windows Update 为你下载文件。

-
保持 Internet 连接,等待下载和安装完成,根据提示重启系统。

3.1.2 PowerShell 在线方式
powershell
Enable-WindowsOptionalFeature -Online -FeatureName "NetFx3" -All
参数说明:
-Online:修改当前运行的操作系统;-FeatureName "NetFx3":指定 .NET Framework 3.5;-All:同时启用所有必需的父功能。
对于 Windows Server,可使用:
powershell
Install-WindowsFeature -Name NET-Framework-Core
3.2 离线安装(DISM)
当客户端无法访问 Internet 或需要确保安装过程可控时,使用与操作系统构建号匹配的 Windows 安装介质作为 SxS 源。
3.2.1 准备安装介质
-
获取与目标系统版本、构建号、语言匹配的 Windows ISO 文件。
-
右键单击 ISO 文件,选择"装载"。

-
打开文件资源管理器(
Win + E),进入"此电脑",记录装载后的驱动器号(例如G:)。
-
打开装载后的驱动器,进入
sources文件夹,找到sxs子文件夹。可将该文件夹复制到本地固定路径(例如C:\temp\sxs)或网络共享,以便长期引用。
3.2.2 命令提示符(CMD)方式
以管理员身份打开 Windows Terminal,并切换到命令提示符配置文件(Ctrl + Shift + 2)。


执行以下命令(将 G: 替换为实际的驱动器号):
cmd
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /Source:G:\sources\sxs /LimitAccess

命令参数说明:
/Online:针对当前运行的操作系统进行操作;/Enable-Feature /FeatureName:NetFx3:启用 .NET Framework 3.5;/All:启用所有父功能;/Source:G:\sources\sxs:指定本地 SxS 源路径;/LimitAccess:阻止 DISM 尝试联系 Windows Update,适用于 WSUS 管理或离线环境。
安装完成后,系统将提示操作成功。

3.2.3 使用网络共享(UNC,Universal Naming Convention)路径
若将 sources\sxs 复制到文件服务器共享,可使用 UNC 路径:
cmd
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:\server\share\sources\sxs
权限要求:客户端计算机账户(或 Authenticated Users)必须对共享路径具有读取权限。
3.2.4 PowerShell 离线方式
powershell
$feature = Get-WindowsOptionalFeature -Online -FeatureName NetFx3
if ($feature.State -ne 'Enabled') {
Enable-WindowsOptionalFeature -Online -FeatureName NetFx3 -All -LimitAccess -Source "\server\share\sources\sxs" -NoRestart
Write-Output ".NET Framework 3.5 enabled."
} else {
Write-Output ".NET Framework 3.5 is already enabled."
}
对于 Windows Server:
powershell
Install-WindowsFeature -Name NET-Framework-Core -Source D:\sources\sxs

3.2.5 批处理文件自动化
以下批处理脚本可自动检测 Windows 安装介质(通过查找 sources\boot.wim)并执行离线安装:
batch
@echo off
Title .NET Framework 3.5 Offline Installer
for %%I in (D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist "%%I:\sources\boot.wim" set setupdrv=%%I
if defined setupdrv (
echo Found drive %setupdrv%
echo Installing .NET Framework 3.5...
Dism /online /enable-feature /featurename:NetFX3 /All /Source:%setupdrv%:\sources\sxs /LimitAccess
echo.
echo .NET Framework 3.5 should be installed
echo.
) else (
echo No installation media found!
echo Insert DVD or USB flash drive and run this file once again.
echo.
)
pause
该脚本兼容 install.wim 和 install.esd 两种介质类型。

3.3 企业级部署(WSUS 与 GPO 环境)
3.3.1 GPO 策略:允许从 Windows Update 下载可选功能
适用场景:WSUS 管理补丁,但允许客户端从 Microsoft 获取 Feature on Demand 载荷。
策略路径:
计算机配置 → 策略 → 管理模板 → 系统 → 指定可选组件安装和组件修复的设置
配置步骤:
- 将该策略设置为"已启用";
- 勾选 "直接从 Windows Update 下载修复内容和可选功能,而不是从 Windows Server Update Services(WSUS)"。
注意事项:若环境中启用了"不要连接到任何 Windows Update Internet 位置"等限制策略,需相应调整,否则 .NET 3.5 仍无法下载载荷。
策略生效后,可在客户端使用 PowerShell 启用功能:
powershell
$feature = Get-WindowsOptionalFeature -Online -FeatureName NetFx3
if ($feature.State -ne 'Enabled') {
try {
Enable-WindowsOptionalFeature -Online -FeatureName NetFx3 -All -NoRestart
Write-Output ".NET Framework 3.5 enabled successfully."
}
catch {
Write-Error "Failed to enable .NET Framework 3.5. Check GPO and internet/proxy access."
throw
}
} else {
Write-Output ".NET Framework 3.5 is already enabled."
}
3.3.2 GPO 策略:指定内部 SxS 源路径
适用场景:客户端无 Internet 访问,需从内部仓库统一获取载荷。
步骤 1:建立内部 SxS 仓库
从 Windows 安装介质提取 \sources\sxs 文件夹,按操作系统版本和构建号分类存放,例如:
\\fileserver\FOD\Win11_23H2\sources\sxs\\fileserver\FOD\Win10_22H2\sources\sxs
步骤 2:配置 GPO 源路径
在同一策略(计算机配置 → 策略 → 管理模板 → 系统 → 指定可选组件安装和组件修复的设置)中:
- 设置为"已启用";
- 在备用源路径 中填入 UNC 路径,例如
\\fileserver\FOD\Win11_23H2\sources\sxs。
步骤 3:客户端执行安装
cmd
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:\fileserver\FOD\Win11_23H2\sources\sxs
3.3.3 PowerShell DSC 自动化
对于大规模部署,可使用 Desired State Configuration(DSC)确保多台系统处于一致的配置状态:
powershell
Configuration InstallDotNet35 {
Node "localhost" {
WindowsFeature NetFx3 {
Ensure = "Present"
Name = "NetFx3"
IncludeAllSubFeature = $true
Source = "D:\sources\sxs" # 根据实际情况调整路径
}
}
}
InstallDotNet35
Start-DscConfiguration -Path .\InstallDotNet35 -Wait -Verbose -Force
3.3.4 组策略启动脚本与注册表配置
在域环境中,可通过修改注册表指定本地源路径,随后执行常规安装命令:
powershell
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Servicing" -Name "LocalSourcePath" -Value "D:\sources\sxs"
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Servicing" -Name "RepairContentServerSource" -Value 2
Enable-WindowsOptionalFeature -Online -FeatureName "NetFx3" -All
此配置使系统优先查找本地文件夹,而非 Windows Update。
3.3.5 部署工具集成
上述 PowerShell 脚本和 DISM 命令可集成到以下部署平台:
- SCCM / ConfigMgr:作为软件分发包或任务序列步骤;
- Intune:打包为 Win32 应用,用于混合或 Entra 托管设备;
- RMM 工具:通过远程脚本批量执行;
- 组策略启动脚本:在计算机启动时自动运行安装脚本。
4. 验证安装
.NET Framework 3.5 状态检查方式
安装完成后,使用以下方法验证 .NET Framework 3.5 是否成功启用:
1. PowerShell
操作命令:
powershell
Get-WindowsOptionalFeature -Online -FeatureName NetFx3
预期输出:
State : Enabled
2. DISM
操作命令:
cmd
DISM /Online /Get-FeatureInfo /FeatureName:NetFx3
预期输出:
State : Enabled
3. Windows Server 功能检查
操作命令:
powershell
Get-WindowsFeature -Name NET-Framework-Features
预期输出:
NET‑Framework‑Core 状态标记为 Installed
4. 图形界面 (GUI)
操作步骤:
- 按下
Win + R,输入optionalfeatures回车 - 在弹出的 Windows 功能窗口中查找 .NET Framework 3.5
预期结果:对应项目复选框处于选中状态。

5. 故障排除
| 症状 / 错误信息 | 可能原因 | 解决方法 |
|---|---|---|
| "The source files could not be found"(找不到源文件) | /Source 路径错误、不可访问,或 SxS 源与操作系统构建号不匹配 |
验证 UNC 路径和权限;使用与客户端 OS 构建号、语言匹配的安装介质;按构建号分类维护 SxS 文件夹 |
| 部分计算机安装成功,部分失败 | 环境中存在混合 Windows 版本或构建号 | 检测操作系统版本和构建号,将客户端路由到对应的 SxS 仓库 |
| WSUS 客户端修改 GPO 后仍无法下载载荷 | 其他策略阻止了 Windows Update 端点,或代理 / 防火墙拦截 | 检查"不要连接到任何 Windows Update Internet 位置"等限制策略;确保代理和防火墙允许访问 Microsoft 更新端点 |
| GPO 启动脚本无法访问文件共享 | 计算机账户在启动时无法读取共享 | 向 Domain Computers(或相应设备组)授予共享读取权限;确保启动早期 DNS 和 SMB 连通性正常 |
| 在线安装过程中断或失败 | Internet 连接不稳定,或流量受限 | 改用离线安装方式;确保网络连接稳定 |
6. 注意事项
- WSUS 与功能安装的关系:WSUS 适用于 .NET Framework 3.5 安装完成后的补丁和更新分发,不适用于初始功能部署。
- 源文件版本一致性:若环境中存在多种 Windows 构建号,需维护分类的 SxS 仓库,或建立 DFS 命名空间,确保客户端始终访问到匹配的源文件。
- 自动化检测 :在 SCCM、Intune 或 RMM 中,可将
Get-WindowsOptionalFeature -Online -FeatureName NetFx3的Enabled状态作为检测规则,避免重复安装。 - 日志记录:优先使用 PowerShell 脚本执行安装,以便输出结构化日志(记录成功 / 失败状态及使用的源路径),减少后续排查时间。
- 安装介质兼容性 :批处理文件和 DISM 命令同时支持基于
install.wim和install.esd的 Windows 安装介质。
7. 参考资源
- Microsoft .NET Framework 3.5 下载
- Microsoft .NET Framework 3.5 Service Pack 1 下载
-
Microsoft 官方安装指南
- Install .NET Framework 3.5 on WSUS-Managed Windows Clients (DISM, GPO, Offline SxS) | IT trip
https://en.ittrip.xyz/windows-server/net35-wsus-clients - How to Offline Install .NET Framework 3.5 in Windows 11 with DISM
https://winaero.com/how-to-offline-install-net-framework-3-5-in-windows-11-with-dism/ - How to enable .NET Framework 3.5 in Windows 11
https://www.kapilarya.com/how-to-enable-net-framework-3-5-in-windows-11 - How to Install .NET Framework 3.5 Using PowerShell?
https://powershellfaqs.com/install-net-framework-3-5-using-powershell/