微软发布 Windows Server 2012 RTM 已经有一段时间,在微软向 MSDN&Technet订阅用户以及MPN、MVL 用户提供 RTM 后,大规模的部署和升级开始了!相信大家或多或少都会遇到了一些问题,而今天要与大家分享的便是如何在 Windows Server 2012 上安装 dotNET Framework v3.5(包含 v2.0 和 v3.0)。

        提及这个问题首先要先回顾一下之前的情况 - 早先在 Windows Server 2008 R2 上,如果要安装 dotNET Framework v3.5(以下简称:.NET v3.5)只需通过“添加和删除”功能便可完成,而无需通过互联网下载相关的组件。但是在 Windows Server 2012 上这一步骤发生了一些微妙的变化。

        gOxiA 最近在进行 Windows 8 的批量部署测试,环境中需要安装 Windows ADK,由于 ADK 组件中的 VAMT 3.0 需要 SQLServer,所以在安装 ADK 时保留了默认的组件安装选择,整个过程都很顺利,但是在安装后发现自动安装的 SQLServer 2012 未包含管理工具,而且还是英文版的,所以重置了虚拟环境,打算重新安装。而重新安装 ADK 前首先要做的就是手工安装 SQLServer 2012 Express with Tools 简体中文版,SQLServer 2012 的安装准备检测都很顺利但是在安装接近尾声时竟然提示 .NET v3.5 无效,虽然进度仍可继续,但之后又提示一个错误(PS:当时也未截屏,具体错误提示忘记了!),无奈取消安装!此时系统被挂起,一狠心又重置了虚拟环境。没想到一波三折,重新来过时先安装 .NET v3.5,像以往一样通过添加和删除进行,向导中间提示了需要为安装 .NET v3.5 指定备用源路径,但是感觉其提示实在太简单,也没有在意!以为跟 Windows 8 一样需要通过互联网从微软 download 来安装。没想到接下来便出现了问题,提示安装失败!如下图所示:

在 Windows Server 2012 上安装 dotNET Framework v3.5_Windows Server 2012

        好吧,既然如此就好好研究一下这个“指定备用源路径”,看了看详细的介绍大致的意思可以这么理解,Windows Server 2012 虽然继续支持 .NET v3.5,但是当前系统文件库(winsxs)并未包含 .NET v3.5 的相关组件,所以要安装 .NET v3.5 需要为安装向导指定一个安装源,这点与 Windows 8 不同,因为 Windows 8 在默认安装此功能时会自动从网上下载安装。要指定备用源路径就必须有 Windows Server 2012 的安装源,因为 .NET v3.5 的相关组件包含在安装盘”Sources“根目录下的”SxS“子目录中。具体的操作只需要在"确定安装所选内容"页上单击"指定备用源路径",并在弹出的提示框里键入指定的路径即可,其中Sources为2012安装镜像文件中的Sources可参考下图:

在 Windows Server 2012 上安装 dotNET Framework v3.5_Windows Server 2012 _02

        除了可以通过 GUI 方式来操作安装以外,我们还能够使用 DISM 命令,该命令同时适用于 Windows 8 和 Windows Server 2012(需加“/all”参数),参考如下:


dism /online /enable-feature /featurename:netfx3 /source:x:\sources\sxs


        当然,微软正极力推荐管理员们多多的使用强大的 Powershell 来管理系统,在 Windows Server 2012 的  Server Manager cmdlets 中,可以通过”Install-WindowsFeature“进行安装,参考命令如下:


install-windowsfeature –name net-framework-core –source x:\sources\sxs


        注意:上面的这段命令只适用于 Windows Server 2012!如果你希望 Powershell cmdlets 同时适用于 Windows 8 这样的客户端系统,那么请参考下面的命令:


enable-windowsoptionalfeature –online –featurename netfx3 –source x:\sources\sxs


在 Windows Server 2012 上安装 dotNET Framework v3.5_Windows Server 2012 _03

        要获得更详细的内容可阅读微软 Windows Server Core Team 的 Blog:http://blogs.technet.com/b/askcore/archive/2012/05/14/windows-8-and-net-framework-3-5.aspx

Tags: microsoft , windows , server , 2012 , powershell , dism , netfx , 3.5