Установка .NET Framework 3.5 на Windows Server 2012 R2
Для работы некоторых приложений, иногда требуется установленный .NET Framework 3.5. В основу .NET Framework 3.5 положены разные полезные функции. Например, наборы функций в Windows Workflow Foundation (WF), Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF) и Windows Card Space, функции в ряде технических областей и другие. Обычно, в Windows Server 2012 такие дополнения устанавливаются довольно просто: Через диспетчер серверов – добавление ролей и компонентов.
Однако, с Framework 3.5 могут возникнуть проблемы и при установке будут возникать некоторые ошибки, например такая: «Installation of one of more roles, role services or features failed. The source files could not be found…».
Дело в том, что для уменьшения размера занимаемого пространства серверной системой, framework 3.5 не включен в локальный кэш бинарных файлов, создаваемых при установке ОС.
Проверить наличие .NET Framework 3.5 в локальном депозитарии можно, выполнив команду в Powershell:
Get-WindowsFeature *Framework*
В столбце «Install State» .NET framework 3.5 имеет значение Removed, следовательно, в депозитарии его нет.
Попытка скачать (автоматически системой с сайта Windows Update или вручную) положительного результата не дала.
Но это не значит в системе Windows Server 2012 R2 нет никакой возможности работать с компонентом .NET Framework 3.5. Для того, чтобы его всё-таки установить нам понадобится диск с системой или её образ, загруженный в виртуальный привод.
Итак, вставляем в привод диск Windows Server 2012 R2 или виртуализируем её образ. Заходим в «Диспетчер серверов», пункт «Локальный сервер», проматываем до раздела «Роли и компоненты» и жмём кнопочку «Задачи» (она справа), в ниспадающем списке выбираем «Добавить роли и компоненты»:
Открывается «Мастер добавления ролей и компонентов»:
Прочитав краткое вступление, жмём «Далее» и выбираем тип установки: «Установка ролей или компонентов»:
Выбираем сервер из списка (как правило, он один):
Как видите, есть всё необходимое для любых серверных задач, остаётся только включить. Но данные Роли сервера нас пока не интересуют, пропускаем этот шаг, нажав «Далее»:
А вот тут уже ищем нужный компонент: «Функции .NET Framework 3.5» и ставим галочку:
Таким образом можно устанавливать и другие интересующие компоненты, но вот с Framework 3.5 возникли проблемы, поэтому в следующем окне нажимаем ссылочу «Указать альтернативный исходный путь»:
И указываем путь вручную к папке на диске, где хранятся компоненты \Sources\SxS
В моём случае, привод имеет букву J, поэтому у меня путь выглядит так:
Нажав «ОК» система найдёт бинарные файлы компонента .NET Framework 3.5 в указанном каталоге и установит его:
Не очень быстрая операция. В конце установки вы не услышите фанфаров, не увидите радостных табличек и сообщений. Лишь скромная надпись под шкалой прогресса сообщит о том, что установка выполнена:
Не у всех, конечно, серверная система имеет графический интерфейс или же не все любят копаться в различных окошках со списками, а предпочитают набрать команду вручную, поэтому:
В Powershell выглядит так:
Add-WindowsFeature NET-Framework-Core -Source d:\sources\sxs В командной строке (обязательно от имени администратора) так:
dism /online /enable-feature /featurename:NetFX3 /all /Source:d:\sources\sxs /LimitAccess
где:
/Online – означает, что нужно обновлять установленную систему, а не образ
/enable-feature – установка, включение
/featurename:NetFX3 – имя компонента: сокращенное для удобства название .NET Framework 3.5
/all – означает, что должны быть включены и установлены все функции компонента
/Source – путь к каталогу дистрибутива Windows, в котором находятся необходимые компоненты
/LimitAccess – запретить обращение к узлу Windows Update
Установка Framework в командной строке
Перезагружаем сервер и можем работать с приложениями, требующими установленный .NET Framework 3.5