Установка .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, поэтому у меня путь выглядит так:

J:\Sources\SxS\

Нажав «ОК» система найдёт бинарные файлы компонента .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

Категории