Установка .NET Framework 3.5 в Windows Server 2012 R2
04 Nov 2017При попытке установить .NET Framework 3.5 в Windows Server 2012 R2 со стандартными настройками появляется ошибка «Installation of one of more roles, role services or features failed. The source files could not be found…».
Проверим наличие .NET Framework 3.5 в локальном депозитарии, выполнив команду Powershell:
Get-WindowsFeature *Framework*
PS C:\scripts> Get-WindowsFeature *Framework*
Display Name Name Install State
------------ ---- -------------
[ ] .NET Framework 4.5 AS-NET-Framework Available
[ ] Биометрическая платформа Windows Biometric-Framework Available
[ ] Функции .NET Framework 3.5 NET-Framework-Features Removed
[ ] .NET Framework 3.5 (включает .NET 2.0 и 3.0) NET-Framework-Core Removed
[X] Функции .NET Framework 4.5 NET-Framework-45-Fea... Installed
[X] .NET Framework 4.5 NET-Framework-45-Core Installed
[X] ASP.NET 4.5 NET-Framework-45-ASPNET Installed
Как вы видите, искомый компонент находится в удаленном состоянии (Install State: Removed)
Система по-умолчанию пытается скачать необходимые файлы с сайта Windows Update (локальный сервер WSUS для этих целей не подойдет), и если это невозможно пользователю предлагается самому указать путь к дистрибутиву ОС, из которого можно было бы установить недостающий компонент.
Чтобы установить .NET Framework 3.5 вручную достаточно, нажав кнопку Specify an alternative source path (Уаказать альтернативный исходный путь), указать альтернативный путь к папке с содержимым установочного диска Windows Server 2012 R2.
В качестве пути можно указать как локальную папку (в нашем примере это D:\source\sxs, где D:\ — буква локального DVD-привода с дистрибутивом Windows Server) или сетевой каталог.
Ту же самую операцию можно выполнить и из командной строки, выполнив с правами администратора команду:
dism /online /enable-feature /featurename:NetFX3 /all /Source:d:\sources\sxs /LimitAccess
/Online – означает, что нужно обновлять текущую ОС, а не образ
/enable-feature /featurename:NetFX3 /all – необходимо установить платформу .NET Framework 3.5 со всеми функциями
/Source – путь к каталогу дистрибутива Windows, в котором находятся необходимые компоненты
/LimitAccess – предотвратить обращение к узлу Windows Update
Эта же операция на Powershell выглядит так:
Add-WindowsFeature NET-Framework-Core -Source d:\sources\sxs
Путь к «оригинальному» дистрибутиву Windows можно зафиксировать в системе на постоянной основе с помощью:
- Параметра реестра RepairContentServerSource, который находится в ветке HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Servicing
- Или групповой политики Specify settings for optional component installation and component repair (политика правит этот же параметр в реестре)
