Грешка 0x800F081F при инсталиране на .NET Framework 3.5 на Windows 8 / Server 2012

Не е тайна, че в Windows 8 / Windows Server 2012 / R2. В една от предишните статии вече показахме как да инсталираме .NET Framework 3.5 на Windows Server 2012 R2 / Windows 8. На другия ден в няколко системи се сблъскахме с грешка в инсталацията. Net Framework 3.5. Проблемът беше наблюдаван при инсталирането на компонента както на сървъра Windows Server 2012, така и на клиентския Windows 8.1.

Какво е най-интересното, оказа се, че побеждава проблема с помощта на различни методи :).

Съдържание:

  • Невъзможно е да се инсталира .NET Framework 3.5 на Windows 8 / Windows Server 2012
  • Неправилни актуализации, предотвратяващи инсталирането на .NET 3.5
  • Езиков пакет за конфликти и .NET Framework 3.5

Невъзможно е да се инсталира .NET Framework 3.5 на Windows 8 / Windows Server 2012

Когато инсталирате .NET Framework 3.5 на Windows 8 онлайн чрез Контролния панел -> Програми и функции -> Включване или изключване на функциите на Windows - възниква грешка 0x800F0906:

Грешка: 0x800F0906

Windows не можа да се свърже с интернет, за да изтегли необходимите файлове. Уверете се, че сте свързани с Интернет и щракнете върху „Опитайте отново“, за да опитате отново.

забележка. Нямаше проблеми с достъпа до Интернет на проблемни машини.

Когато се опитвате да инсталирате офлайн .NET 3.5 от монтиран диск с дистрибуция на ОС (използва се точният инсталационен диск, от който е внедрена системата) с командата:

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

Командата DISM се проваля 0x800F081F:

Инструмент за обслужване и управление на изображението за внедряване Версия: 6.2.9200.16384
Версия на изображението: 6.2.9200.16384
Активиране на функция (и) [============================ 66,5% ======]

Грешка: 0x800f081f
Изходните файлове не можаха да бъдат намерени.
Използвайте опцията "Източник", за да определите местоположението на файловете, които са необходими за възстановяване на функцията. За повече информация
йон за посочване на местоположението на източник, вижте http://go.microsoft.com/fwlink/?LinkId=243077.
Дневният файл на DISM може да се намери на C: \ Windows \ Logs \ DISM \ dism.log

В локализираната версия на Windows 8 грешката, съответно:

Функцията е активирана
[============================ 66,5% ======]
Грешка: 0x800f081f
Не можаха да се намерят изходни файлове.

Вход C: \ Windows \ Logs \ DISM \ dism.log съдържа следните грешки:

2014-10-24 10:11:22, Информация DISM DISM Мениджър на пакети: PID = 776 TID = 4024 Грешка в работата: източник за пакет или файл не е намерен, ResolveSource () не е успешен. (CBS HRESULT = 0x800f081f) - CCbsConUIHandler :: Грешка
2014-10-24 10:11:22, Грешка DISM DISM Мениджър на пакети: PID = 776 TID = 2856 Неуспешно финализиране на промените. - CDISMPackageManager :: Internal_Finalize (hr: 0x800f081f)
2014-10-24 10:11:22, Грешка DISM DISM Мениджър на пакети: PID = 776 TID = 2856 Изходните файлове не могат да бъдат намерени; тяхното местоположение трябва да се посочи чрез опцията / source за възстановяване на функцията. - GetCbsErrorMsg
2014-10-24 10:11:22, Грешка DISM DISM Мениджър на пакети: PID = 776 TID = 2856 Неуспешни промени в пакета за обработка с опциите на сесията - CDISMPackageManager :: ProcessChangesWithOptions (hr: 0x800f081f)
2014-10-24 10:11:22, Грешка DISM DISM Мениджър на пакети: PID = 776 TID = 2856 Failed ProcessChanges. - CPackageManagerCLIHandler :: Private_ProcessFeatureChange (hr: 0x800f081f)
2014-10-24 10:11:23, Грешка DISM DISM Мениджър на пакети: PID = 776 TID = 2856 Неуспешно при обработка на командата за активиране-функция. - CPackageManagerCLIHandler :: ExecuteCmdLine (hr: 0x800f081f)

Неправилни актуализации, предотвратяващи инсталирането на .NET 3.5

Една неотдавнашна статия в базата знания на Microsoft http://support2.microsoft.com/kb/3005628 описва проблем с актуализациите на защитата на Windows през август, инсталирането на които води до ситуация, при която не е възможно да инсталирате компонента .NET Framework 3.5. Става дума за две актуализации:

  • KB2966828 - MS14-046: Актуализация на защитата за .NET Framework 3.5 на Windows 8.1 и Windows Server 2012 R2: 12 август 2014 г.
  • KB2966827 - MS14-046: Актуализация на защитата за .NET Framework 3.5 на Windows 8 и Windows Server 2012: 12 август 2014 г.

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

Можете да разберете дали актуализираните данни са инсталирани в системата по този начин или използвате следната команда Powershell:

Get-HotFix |? $ _. Hotfixid "* 2966828 *"

Ако някоя от тези актуализации е инсталирана в системата, трябва да ги премахнете (процедурата е описана подробно в статията Как правилно да премахнете актуализацията в Windows). След това можете да инсталирате .Net Framework 3.5 както обикновено (инсталира се без грешка) и след това отново да инсталирате отдалечени актуализации (за да не оставите дупка в системата).

съвет. Освен това, вместо да деинсталирате / инсталирате актуализации на портала на Microsoft, се препоръчва да инсталирате актуалната корекция 3005628. Тази корекция ще премахне актуализациите на 2966827 2966828 в системи, където .NET Framework 3.5 не е инсталиран. Кой метод е по-удобен - вие решавате.

Езиков пакет за конфликти и .NET Framework 3.5

На машина с Windows 8.1, която също имаше въпросния проблем, горните актуализации липсваха. В опит да разрешим проблема, преминахме през много опции, вариращи от последователното премахване на всички актуализации и завършващи с възстановяването на магазина за компоненти. Но ефектът така и не беше постигнат ...

Колкото и да е странно, премахването на допълнителен (руски) езиков пакет (команда) lpksetup).

След отстраняване на езиковия пакет, .NET Framework се инсталира правилно. След това можете да инсталирате отново желания езиков пакет.