Ошибка 0x800F081F при установке .NET Framework 3.5 в Windows 8 /Server 2012
Не секрет, что в Windows 8 / Windows Server 2012 / R2 .Net Framework 3.5 не идет в комплекте поставки ОС (в рамках концепции Features on Demand), и для его установки требует дистрибутив ОС или прямой доступ к сайту обновлений Microsoft. В одной из предыдущих статей мы уже показывали, как установить .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 Framework 3.5 в Windows 8 через Панель управления (Control Panel -> Programs and Features -> Turn Windows features on or off) появляется ошибка 0x800F0906:
Windows couldn’t connect to the Internet to download necessary files. Make sure that you’re connected to the Internet and click «Retry» to try again.
Примечание. Каких либо проблем с доступом в Интернет на проблемных машинах не было.
При попытке офлайн установки .NET 3.5 со смонтированного диска с дистрибутивом ОС (использовался именно тот установочный диск, с которого разворачивалась система) командой:
dism /online /enable-feature /featurename:NetFX3 /All /Source:e:sourcessxs /LimitAccess
Выполнение команды DISM завершается с ошибкой 0x800F081F:
Image Version: 6.2.9200.16384
Enabling feature(s) [===========================66.5%====== ]
Error: 0x800f081f
The source files could not be found.
Use the «Source» option to specify the location of the files that are required to restore the feature. For more informat
ion on specifying a source location, see http://go.microsoft.com/fwlink/?LinkId=243077.
The DISM log file can be found at C:WindowsLogsDISMdism.log
В локализованной версии Windows 8 ошибка, соответственно:
Включение функций
[===========================66.5%====== ]
Ошибка: 0x800f081f
Не удалось найти исходные файлы.
Лог C:WindowsLogsDISMdism.log содержит такие ошибки:
2014-10-24 10:11:22, Info DISM DISM Package Manager: PID=776 TID=4024 Error in operation: source for package or file not found, ResolveSource() unsuccessful. (CBS HRESULT=0x800f081f) - CCbsConUIHandler::Error
2014-10-24 10:11:22, Error DISM DISM Package Manager: PID=776 TID=2856 Failed finalizing changes. - CDISMPackageManager::Internal_Finalize(hr:0x800f081f)
2014-10-24 10:11:22, Error DISM DISM Package Manager: PID=776 TID=2856 The source files could not be found; their location must be specified using the /source option to restore the feature. - GetCbsErrorMsg
2014-10-24 10:11:22, Error DISM DISM Package Manager: PID=776 TID=2856 Failed processing package changes with session options - CDISMPackageManager::ProcessChangesWithOptions(hr:0x800f081f)
2014-10-24 10:11:22, Error DISM DISM Package Manager: PID=776 TID=2856 Failed ProcessChanges. - CPackageManagerCLIHandler::Private_ProcessFeatureChange(hr:0x800f081f)
2014-10-24 10:11:23, Error DISM DISM Package Manager: PID=776 TID=2856 Failed while processing command enable-feature. - CPackageManagerCLIHandler::ExecuteCmdLine(hr:0x800f081f)
Некорректные обновления, препятствующие установке .NET 3.5
В одной из свежей статей базы знаний Microsoft http://support2.microsoft.com/kb/3005628 описывается проблема с августовскими обновлениями безопасности Windows, установка которых приводит к ситуации, когда невозможно установить компонент .NET Framework 3.5. Речь идет о двух обновлениях:
- KB2966828 — MS14-046: Security update for the .NET Framework 3.5 on Windows 8.1 and Windows Server 2012 R2: August 12, 2014
- KB2966827 — MS14-046: Security update for the .NET Framework 3.5 on Windows 8 and Windows Server 2012: August 12, 2014
Как мы видим из описаний, указанные обновления безопасности предназначены для .NET Framework 3.5 в Windows 8.1 и Windows Server 2012 R2, причем устанавливаются эти обновления не зависимо от того, установлен ли компонент .NET Framework 3.5 в системе или нет.
Понять установлены ли данные обновления в системе можно так или с помощью такой команды Powershell:
Get-HotFix |? {$ _. Hotfixid -like "*2966828*"}
Если любое из этих обновление установлено в системе, его нужно удалить (процедура подробно описана в статье Как правильно удалить обновление в Windows ). После этого можно установить .Net Framework 3.5 как обычно (он установится без ошибки), а затем еще раз установить удаленные обновления (дабы не оставлять дыру в системе).
Конфликт Language Pack и .NET Framework 3.5
На машине с Windows 8.1, на которой также присутствовала рассматриваемая проблема, указанные выше обновлений отсутствовали. В попытках решить проблему перебрали множество вариантов, начиная от последовательного удаления всех обновлений и заканчивая восстановлением хранилища компонентов. Но эффекта так и не достигли…
Как не странно, помогло удаление дополнительного (русского) языкового пакета (команда lpksetup).
После удаления языкового пакета, .NET Framework устанавливается корректно. Затем можно заново установить нужный Language Pack.
Qiziqarli malumotlar
Ошибка 0x800F081F при установке .NET Framework 3.5 в Windows 8 /Server 2012