Инсталирайте .NET Framework 3.5 на Windows Server 2012 R2

Повечето съвременни приложения за Windows изискват инсталирана платформа за нормалната им работа. .NET Framework. Съветникът за инсталиране на роли и компоненти на Server в Windows Server 2012 R2 ви позволява да стартирате инсталирането на две различни версии на .NET Framework - 3.5 и 4.5. Инсталирането на .NET Framework 4.5 обикновено не повдига въпроси - цялата процедура е изключително проста, което не може да се каже за инсталирането на .NET Framework 3.5.

Факт е, че когато се опитате да инсталирате .NET Framework 3.5 на Windows Server 2012 R2 със стандартни настройки, грешка "Инсталирането на една от повече роли, ролеви услуги или функции не бе успешно. Изходните файлове не можаха да бъдат намерени ... ".

В руската версия грешката изглежда така:

Неуспешно инсталиране на една или повече роли, ролеви услуги или функции. Не можаха да се намерят изходни файлове. Опитайте да инсталирате ролите, услугите за роли или функции отново в нова сесия на съветника за добавяне на роли и функции и изберете „Посочете алтернативен път на източника“ на страницата за потвърждение, за да посочите действителното местоположение на изходните файлове, необходими за инсталиране.

Причината за това поведение на съветника за инсталиране е, че бинарните файлове .NET Framework 3.5 не са част от локалния кеш на двоични файлове, които се съхраняват на сървъра по време на инсталирането на ОС. Това беше направено като част от концепцията за функции по поръчка в Windows Server 2012, за да се намали количеството дисково пространство, заето от ОС за вашите нужди.

Проверете за наличието на .NET Framework 3.5 в локалното хранилище, като изпълните командата Powershell:

Get-WindowsFeature * Framework *

Както можете да видите, компонентът, който търсите, е в отдалечено състояние (Състояние на инсталиране: Премахнато)

По подразбиране, когато инсталирате NET Framework 3.5 през Server Manager, системата се опитва да вземе необходимите файлове от сайта за актуализиране на Windows в Интернет (а не от локалния WSUS сървър) и ако сървърът няма достъп до Интернет, инсталацията се проваля. Потребителят трябва да посочи пътя към дистрибуцията на ОС, от която може да бъде инсталиран липсващия компонент.

За да инсталирате ръчно .NET Framework 3.5, просто щракнете Посочете алтернативен източник на пътя, посочете алтернативен път до папката със съдържанието на инсталационния диск на Windows Server 2012 R2.

съвет. Инсталационният диск трябва да съдържа същата версия на операционната система, която сте инсталирали (има значение както за версията, така и за езика и наличието на актуализации). Ако инсталаторът не намери необходимите файлове в указаната папка, вижте решението по-долу.

Пътят може да бъде определен като локална папка (в нашия пример това D: \ source \ sxs, където D: \ е буквата на локалното DVD устройство с дистрибуцията на Windows Server) или мрежовата директория.

След като щракнете върху OK, системата ще намери двоичните файлове на компонента .NET Framework 3.5 и да го инсталира.

Същата операция може да се извърши и от командния ред чрез изпълнение на командата с права на администратор:

dism / онлайн / enable-element / име на функция: NetFX3 / всички / Източник: d: \ source \ sxs / LimitAccess

/ Онлайн - означава, че трябва да актуализирате текущата ОС, а не изображение на Wim

/ enable-element / име на функция: NetFX3 / всички - трябва да инсталирате .NET Framework 3.5 с всички функции

/ Източник - път към директорията за разпространение на Windows, където се намират необходимите компоненти

/ LimitAccess - предотвратяване на достъп до сайта за актуализация на Windows

Подобна команда на Powershell за инсталиране на компонента .Net 3.5 изглежда така:

Добавяне на WindowsFeature NET-Framework-Core -Source d: \ source \ sxs

Пътят до "оригиналната" дистрибуция на Windows може да бъде фиксиран в системата постоянно:

  • Използване на настройка на системния регистър RepairContentServerSource, който е в клона HKLM \ СОФТУЕР \ Microsoft \ Windows \ CurrentVersion \ Политики \ Обслужване
  • Или групова политика Укажете настройки за опционална инсталация на компонент и ремонт на компоненти (правилото коригира същия параметър в регистъра)

забележка. Групова политика Укажете настройки за опционална инсталация на компонент и ремонт на компоненти намира се под GPO компютърна конфигурация -> административни шаблони -> система. Политиката трябва да бъде активирана (Активирана), посочете пътя към директорията с дистрибуцията на ОС (Алтернативен път към изходния файл). За да попречите на сървъра да се опита да актуализира от Интернет, поставете отметка в квадратчето Никога не се опитвайте да изтеглите полезен товар от Windows Update.

За да проверите за инсталиран .NET Framework 3.5, отидете в директорията C: \Windows\Microsoft.NET\рамка64 и се уверете, че сред директории на инсталираните версии на .NET са се появили V3.5.

Ако горните методи за инсталиране на .NET Framework 3.5.1 не са ви помогнали, опитайте следните решения.

След като инсталирате някои актуализации, версията (изграждането) на Windows Server 2012 R2 в системата може да не отговаря повече на изображението на ОС, съхранявано в съществуващата дистрибуция. В този случай инсталаторът, когато сравнява версията на ядрото на Windows, отказва да инсталира остаряла версия на компонента.

В този случай като правило при инсталиране на .NET Framework чрез dism се появява грешка 0x800f081f. Изходните файлове не можаха да бъдат намерени

Решение: инсталирайте .Net от сървърите на Microsoft:

  • Запишете текущите настройки на актуализацията на Windows във файла reg в HKLM \ Software \ Policies \ Microsoft \ Windows \ CurrentVersion \ WindowsUpdate клон
  • Изтрийте този клон и рестартирайте услугата: net stop wuauserv & net start wuauserv
  • Стартирайте инсталацията .Net от интернет: DISM / Online / Enable-Feature / FeatureName: NetFx3 / All
  • След като инсталацията завърши, върнете настройките на WU, като импортирате reg файла и рестартирайте отново услугата WindowsUpdate
съвет. В бъдеще можете да използвате папката C: \ Windows \ winxs от този сървър, за да инсталирате .Net FrameWork 3.5 на други сървъри със същата версия на ОС. Копирайте папката C: \ Windows \ winxs на желания сървър в директорията C: \ tmp \ winxs и инсталирайте компонента с командата:

dism / онлайн / enable-element / име на функция: NetFX3 / всички / Източник: C: \ tmp \ winxs / LimitAccess

Освен това, ако сте инсталирали допълнителен езиков пакет (Language Packs) на сървъра, трябва да го деинсталирате с помощта на командата, преди да инсталирате .NET Framework 3.5.1 lpksetup.

Вижте статия .NET 0 Грешка 0x800F081F

Също така проверете за инсталирани кръпки за NET 3.5 Framework в списъка с инсталирани актуализации на системата (теоретично те изобщо не би трябвало да са инсталирани, ако NetFX3 не е инсталиран).

Изтрийте актуализиращите данни и след рестартиране опитайте да инсталирате .NET 3.5.