問題
如今,仍然有許多程序和應用需要依靠.NET 3.5 framework 來運行。在Windows Server 2012中,微軟提供了.NET 3.5 和.NET 4.5的安裝選項以為你的應用程序提供支持。但在安裝.NET 3.5 組件時,你要多注意一些細節。
當使用服務器管理器來安裝.NET 3.5 時你可能會遇到下面的提示信息,指出源文件無法找到:
即使使用PowerShell來安裝,你也可能看到類似的提示信息"The source files could not be downloaded"源文件無法下載,還報出一個0x800f0906的錯誤。在我這個例子中,服務器沒有鏈接到Internet,無法訪問Windows Update 服務器。
回到"添加角色和功能"向導,我再仔細看一下,你會發現這樣一條警告信息,在窗口底部還給出了一個鏈接"Specify an alternate source path",指定一個可備選源路徑。
其他的功能在添加時並不需要我們提供源文件,為什么我們安裝.NET 3.5時卻需要呢?如果你安裝的是Full GUI版本,你在PowerShell中運行get-windowsfeature | ? installstate –eq "removed" , 你可看到那些組件的安裝狀態被設為了"removed"。"Removed"指出了哪些組件文件在本地服務器是沒有的。下面是Windows Server 2012(無論哪個版本)的默認設置。
對於那些沒有WSUS的服務器,或者沒有連接到Windows Update的服務器所需要的組件也就無法檢索到,我們就需要一個Windows Server 的安裝介質(可以是光盤或者鏡像),從中到side-by-side store (也就是sxs),作為備選源路徑,來完成功能的安裝。
解決方法
我們可以從以下的安裝方式中選擇一種。
第一種方法
-
使用"添加角色和功能向導",點擊窗口底部的鏈接,指定一個備選源路徑。例如,D:是我的Windows Server DVD光盤。可使用如下路徑:
D:\Sources\sxs
第二種方法
-
使用 PowerShell, 指定源文件路徑然后進行安裝:
Install-WindowsFeature NET-Framework-Core –Source D:\Sources\sxs
-
使用命令提示符中的DISM命令,指定源文件路徑然后進行安裝:
DISM /Online /Enable-Feature /FeatureName:NetFx3 /Source:d:\sources\sxs
-
使用包含sxs文件夾的文件共享,指定unc共享路徑:
Install-WindowsFeature NET-Framework-Core –Source \\ServerName\ShareName\sxs
其他參考資料
TechNet: Install or Uninstall Roles, Role Services, or Features