因为最近在做老项目的升级维护工作,需要升级服务器,重新配置服务器环境,但在配置IIS安装.net framework 3.5时总是提示安装一个或多个角色,角色服务或功能失败,找不到源文件。本次汇总了几个网上比较常见的解决方案,希望能给遇到同样问题的人一点帮助,同时也为自己记录下解决问题的经过。
问题原因:因为Windows server 2012 或2016本身自带的是.net framework4.5.所以当使用服务器管理器来安装.NET 3.5 时可能会遇到下面的提示信息,指出源文件无法找到,可以使用以管理员身份运行powershell 输入以下指令(注意字符间的空格),查看哪些组件文件在本地服务器是没有的
get-windowsfeature | ? installstate -eq "removed"
对于那些没有WSUS的服务器,或者没有连接到Windows Update的服务器所需要的组件也就无法检索到,加之我使用的服务器都是不能联网的,所以就需要一个Windows Server 的安装介质(可以是光盘或者镜像),从中到side-by-side store (也就是sxs),作为备选源路径,来完成功能的安装。
解决方法1:(亲测有效)在"添加角色和功能"中的提示中有指定备用安装路径的,根据提示进行修改安装备选源路径,进行安装,(备用资料的来源为SXS文件,只需要把SXS文件夹放置在自己创建的文件夹下面,然后在备用路径下指定到这个文件夹就可以了(注意:sxs中的文件资料不需要解压))
解决方法2:使用 PowerShell, 指定源文件路径然后进行安装:
Install-WindowsFeature NET-Framework-Core –Source E:Sourcessxs
解决方法3:(亲测有效)
通过离线 NetFx3.cab 文件进行安装,首先下载好文件:(如下,百度云盘,如果失效,请留言)
链接:https://pan.baidu.com/s/18tB0zCAn7dWoxfcE30qSSg
提取码:jr1p
下载好后,放在Windows server 2016的C盘WINDOWS文件夹下(C:Windows)
点击“开始”找到“Windows PowerShell”右击“以管理员身份运行”,输入如下命令
dism.exe /online /add-package /packagepath:C:WINDOWSnetfx3.caB解决方案4:
使用包含sxs文件夹的文件共享,指定unc共享路径:
Install-WindowsFeature NET-Framework-Core –Source \ServerNameShareNamesxs



