Windows实例默认采用WSUS(Windows Server Update Services)获取更新源会导致.NET Framework和语言包安装文件缺失,可能会上报找不到源文件或者无法安装语言包等错误。本文介绍如何通过将更新源从WSUS切换为Windows Update,解决无法安装.NET Framework 3.5或语言包的问题。
如果您是Windows Server 2012 R2系统且安装的是2023年06月之后的官方镜像,会存在因为安全补丁而导致无法安装.NET Framework 3.5的问题,针对该问题请参考Windows Server 2012 R2安装.NET 3.5失败的问题解决。
如果您需继续使用Windows Server 2012 R2系统,建议您在ECS管理控制台的社区镜像中直接使用已安装.NET Framework 3.5的Windows Server 2012 R2镜像(win2012r2_9600_x64_dtc_zh-cn_40G_.Net3.5_alibase_20231204.vhd和win2012r2_9600_x64_dtc_en-us_40G_.Net3.5_alibase_20231204.vhd )去创建ECS实例。关于如何查找这两款镜像,请参见查找镜像。
问题描述
问题一:.NET Framework报错找不到源文件
在Windows Server 2012 R2、Windows Server 2016或Windows Server 2019系统中安装.NET Framework 3.5时,报如下图所示的错误。
问题二:无法安装语言包
在控制面板切换语言或者Windows Update中查询语言选项时,无法选择或者安装语言包。
问题原因
由于Windows实例默认采用WSUS获取更新源,如果在WSUS服务器上没有同步包含.NET Framework 3.5或相应语言包的更新内容,那么Windows实例就无法通过WSUS获取这些更新,就会导致.NET Framework和语言包安装文件缺失,所以上报找不到源文件或者无法安装语言包的相关错误。
解决方案
远程连接Windows实例。
具体操作,请参见通过密码或密钥认证登录Windows实例。
打开CMD命令行窗口。
输入
powershell
进入PowerShell交互界面。运行以下命令,修改注册表将更新源设置为Windows Update。
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU' -Name UseWUServer -Value 0 Restart-Service -Name wuauserv
通过以下任意一种方式,安装.NET Framework 3.5。
说明Windows Server 2012与Windows Server 2016内存占用较高,安装其他应用程序使内存消耗更高,可能会导致内存不足引起安装.NET Framework失败,因此建议增加物理内存。如果是I/O优化实例,其具备较高的磁盘I/O能力,在处理虚拟内存读写时相比普通实例能更快地完成数据交换,从而减小对系统性能的影响,因此可以考虑开启系统虚拟内存。
服务器管理器UI界面安装
在服务管理器中单击添加角色和功能。
按照向导默认配置进行操作,在功能栏中选中.NET Framework 3.5功能。
继续按照向导确认结果,直至安装完成。
执行PowerShell命令安装
您可以运行以下任意一条命令:
Dism /Online /Enable-Feature /FeatureName:NetFX3 /All
Install-WindowsFeature -Name NET-Framework-Features
重要如果安装.NET Framework上报如下图所示的
0x800F0906
、0x800F081F
等错误,请参考.NET Framework 3.5 安装错误进行解决。(条件必选)如果您的Windows环境要求必须通过WSUS进行更新,运行以下命令,将更新源重新设置为WSUS。
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU' -Name UseWUServer -Value 1 Restart-Service -Name wuauserv
相关文档
.NET Framework 3.5是Microsoft提供的一个软件开发框架,它包含了用于开发和运行基于.NET技术的应用程序所需的核心类库和运行时环境。.NET Framework 3.5的语言包是与该框架配套使用的附加组件,用于支持多语言环境。有关.NET Framework的更多信息,请参见.NET Framework概述。
其他更多Windows Server版本安装.NET Framework的具体操作,请参见.NET Framework安装指南。
在Windows Server 2016及更高版本上安装3.5/4.x版本的.NET Framework:在Windows Server 2016及更高版本上安装 .NET Framework
在Windows Server 2022上安装3.5/4.x版本的.NET Framework:在 Windows Server 2022上安装 .NET Framework