如何解决Windows Server 2012 R2及以上实例无法安装.NET Framework 3.5或语言包的问题?

问题现象

  • 现象一:安装.NET Framework 3.5时,提示“安装一个或多个角色、角色服务或功能失败”错误。

    找不到源文件

  • 现象二:在控制面板中切换语言或Windows Update中查询语言选项时,无法选择或安装语言包。

    无法安装语言包

问题原因

Windows 实例默认的WSUS更新源未包含 .NET Framework 3.5或语言包的安装文件,导致安装时因“找不到源文件”而失败。

解决方案

提供两种安装.NET Framework 3.5方案:

请保证已分配公网IP的情况下,安装.NET Framework 3.5。

方式一:通过云助手安装

  1. 访问ECS控制台-云助手

  2. ECS实例页签中,单击实例所在行操作栏的执行命令

  3. 输入以下内容,选择立即执行。将超时时间设置为6000秒以上。其他参数保持默认,然后单击执行

    acs-plugin-manager.exe -e -P Windows_RestoreAndUpdate -p "-ByMedia iso -InstallFeature NetFx3"
  4. 验证结果。在命令执行结果页签中查看命令的执行状态

    执行状态显示为成功执行时,单击操作栏的查看,输出无报错,表示安装成功。

    对于Windows Server 2012 R2 ,若指令执行失败或存在报错,需额外排查安全补丁问题

方式二:通过切换更新源方式安装

图形化界面

  1. 切换更新源。

    1. 登录ECS实例。

      1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。

      2. 进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。选择连接方式为终端连接,输入账号和密码,登录图形化终端页面。

    2. 右键单击开始图标图标,然后单击运行。输入 gpedit.msc,打开本地组策略编辑器

    3. 配置本地组策略。

      • Windows Server 2012 R2、Windows Server 2016、Windows Server 2019Windows Server 2022

        1. 本地组策略编辑器中,选择计算机配置 > 管理模板 > 系统

        2. 双击打开指定可选组件安装和组件修复的设置,选择已启用并勾选直接从“Windows更新”而不是“Windows Server 更新服务(WSUS)”下载修复内容和可选功能后,单击确定

          Windows Server 2012 R2勾选的名称为直接联系“Windows 更新”而不是Windows Server Update Services(WSUS)以下载修复内容

        image

      • Windows Server 2025

        1. 本地组策略编辑器中,选择计算机配置 > 管理模板 > Windows组件 > Windows更新 > 管理Windows Server Update Service提供的更新

        2. 双击打开指定特定Windows更新类的源服务,选择已启用并将功能更新设置为Windows更新后,单击确定

        image

    4. 使本地组策略生效。

      右键单击开始图标图标,然后单击运行。输入PowerShell,进入PowerShell界面后,运行gpupdate /force使策略立即生效。

  2. 安装.NET Framework 3.5。

    1. 单击左下角开始图标,选择服务管理器

    2. 服务管理器中单击添加角色和功能

    3. 在向导的功能页面,勾选.NET Framework 3.5功能,继续安装向导完成安装。

      对于Windows Server 2012 R2 ,若依然安装失败,需额外排查安全补丁问题
  3. (可选)恢复更新源至WSUS。

    若环境必须通过WSUS进行更新,可在安装成功后,在PowerShell中恢复更新源配置。

    Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU' -Name UseWUServer -Value 1
    Restart-Service -Name wuauserv

PowerShell命令行

  1. 切换更新源。

    1. 登录ECS实例。

      1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。

      2. 进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。选择连接方式为终端连接,输入账号和密码,登录图形化终端页面。

    2. 右键单击开始图标图标,然后单击运行。输入PowerShell,进入PowerShell界面后,切换更新源。

      Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU' -Name UseWUServer -Value 0
      Restart-Service -Name wuauserv
  2. 安装.NET Framework 3.5。

    Dism /Online /Enable-Feature /FeatureName:NetFX3 /All 
    若遇到0x800F09060x800F081F等错误,请参考.NET Framework 3.5 安装错误解决。
    对于Windows Server 2012 R2 ,若依然安装失败,需额外排查安全补丁问题
  3. (可选)恢复更新源至WSUS。

    若环境必须通过WSUS进行更新,可在安装成功后,在PowerShell中将更新源重新设置为WSUS。

    Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU' -Name UseWUServer -Value 1
    Restart-Service -Name wuauserv

相关文档

安装更高版本.NET Framework的具体操作,请参见.NET Framework安装