Рассказываем, из-за чего возникает и как исправить ошибку 0x800f0954 в Windows 10.
Что это за ошибка?
Этот сбой связан с программным обеспечением .NET Framework. Ошибка появляется во время установки и не дает ее завершить, жалуясь на необходимость подключиться к интернету (даже если он и так есть).
А .NET Framework — это очень нужный инструмент для разработчиков, на базе которого построены многие приложения для Windows. Эти же приложения полагаются на Фреймворк при запуске. Проще говоря, обойтись без него никак нельзя. Поэтому ошибку 0x800f0954 придется как-то исправлять. Иначе есть шанс лишиться кучи программ и видеоигр.
Далее рассмотрим методы решения проблемы, которые уже доказали свою эффективность.
Меняем параметры реестра
Иногда ошибка возникает из-за проблем при подключении к внешнему серверу обновлений. В этом случае можно попытаться установить .NET Framework, игнорируя хранилища Microsoft Update.
Для этого:
- Кликаем по иконке в виде лупы в левом нижнем углу.
Жмем сюда
- В открывшееся поисковое поле вводим название программы regedit и запускаем ее от имени администратора.
Обязательно выбираем этот пункт
- Когда появится запрос от системы безопасности, нажимаем «Да».
Возможно, для внесения изменений понадобится пароль администратора
- Откроется реестр. Переходим в нем в папку Windows по пути HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows.
- Кликаем по этой папке правой кнопкой мыши.
Создаем подпапку в этой директории
- В появившемся контекстном меню наводим курсор на пункт «Создать», а потом выбираем опцию «Раздел».
- Даем ему название WindowsUpdate.
Сначала нажимаем вот сюда
- Потом кликаем правой кнопкой мыши по папке WindowsUpdate и повторяем то же самое. То есть создаем еще один раздел. На этот раз с названием AU.
Внимательно указывайте названия папок и файлов
- Открываем вновь созданный раздел AU. Получится вот такой путь HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU.
- Кликаем правой кнопкой мыши по пустому пространству в правой части редактора реестра.
- В появившемся контекстном меню выбираем опцию «Создать параметр DWORD (32 бита)».
Создаем новую опцию
- Даем параметру название UseWUServer.
- Кликаем по нему дважды.
Скорее всего, у вас тут будет всего лишь один параметр
- Появится окошка с настройками. Заменяем «Значение» на 0.
Остальные значения оставляем прежними
- После этого перезагружаем компьютер и заново пытаемся установить .NET Framework. Ошибка должна исчезнуть.
Удаляем файлы CBS
Второй способ — удаление временных файлов CBS. Это журнал данных Component-Based Servicing. Иногда их наличие мешает установке тех или иных системных компонентов и сторонних приложений.
Чтобы их удалить:
- Открываем встроенный файловый менеджер Windows.
- Переходим в папку _Локальный диск (С:)\Windows\Logs\CBS_
- Удаляем все содержимое. Просто выделяем и жмем на клавишу Delete.
- А потом очищаем корзину.
У меня тут всего один файл, но у вас их может быть с десяток разных. Удаляем все сразу. Они не нужны
После удаления журналов пробуем установить .NET Framework через систему выгрузки образов Microsoft. Для этого:
- Открываем поисковик Windows, кликнув по соответствующей иконке.
- Ищем там программу cmd.exe и запускаем от имени администратора.
Командную строку тоже надо включать от имени администратора. И тоже может понадобиться пароль
- Затем вводим команду _Dism.exe /online /enable-feature /featurename:NetFX3 /source:C:_
- Дождавшись окончания работы программы, перезапускаем компьютер.
- А потом еще раз пробуем установить .NET Framework. В этот раз должно получиться.
Устанавливаем .NET Framework через командную строку
Еще один способ обойти ошибку 0x800f0954 — установка .NET Framework прямо с образа системы через командную строку.
Чтобы это сделать:
- Создаем флэшку с установочными файлами Windows (перед этим, вероятно, придется скачать образ Windows 10 с официального сайта Microsoft).
- Вставляем ее в компьютер и запоминаем букву диска, под которой она отображается в системе.
- Открываем поисковик Windows.
- Ищем там командную строку и запускаем ее от имени администратора.
- Сразу же вводим туда команду Add-WindowsCapability -Online -Name NetFx3~~~~ -Source буква диска, под которым записана флэшка с Windows:\sources\sxs
В моем случае выбран диск с буквой F. Вот как он вписывается в команду
- Дожидаемся, пока завершится процесс загрузки и установки нужных компонентов.
- Затем перезагружаем компьютер и заново пробуем установить .NET Framework стандартным способом.
Устанавливаем дополнительные компоненты
Если у вас установлена Windows 10 Pro (или Enterprise), то есть еще один вариант исправления ошибки. Для этого надо поменять параметры групповой политики в системе.
Чтобы это сделать:
- Одновременно нажимаем клавиши Win + R.
- В окне программы «Выполнить» набираем gpedit.msc и кликаем по кнопке ОК.
Это короткий путь к редактору групповых политик
- Откроется редактор групповых политик. Переходим там по пути «Конфигурация компьютера»\«Административные шаблоны»\«Система».
- Затем ищем политику под названием «Укажите параметры для установки необязательных компонентов и восстановления компонентов». Кликаем по ней два раза.
- Ставим галочки напротив пункта «Включено» и напротив пункта «Скачайте содержимое для восстановления и дополнительные компоненты непосредственно из центра обновления Windows вместо использования служб Windows Server Update Services (WSUS)»
- После этого перезагружаем компьютер и пробуем заново установить .NET Framework.
Загрузка …
Post Views: 3 750
В сети всё чаще фигурирует ошибка с кодом 0x800f0954. Она появляется при попытке добавить в Windows 10 различные дополнительные компоненты. Чаще всего она наблюдается во время добавления .NET Framework разных версий. Неудачно закончится может и один из встроенных инструментов командной строки – DISM. Вместо сканирования системы или выполнения других системных задач может отобразиться окно со сбоем. Способы исправления, а также причины ошибки 0x800f0954 в Windows 7-10 описаны ниже.
Что вызывает ошибку 0x800f0954?
Чтобы понять источник появления проблемы, эксперты изучили около 30 отчётов пользователей. Затем подобное состояние Windows было воспроизведено на тестовых машинах. Результат – появилась та же самая ошибка.
Удалось установить следующих виновников неисправностей:
- Компьютер не в состоянии подключиться к серверам Windows, отвечающим за передачу обновлений. Очень вероятно, что системе самостоятельно не удалось связаться с серверами WU. Проблема является типичной для компьютерных сетей, которые подключаются к доменам и настроены на автоматическую загрузку обновлений с сервера WSUS. Для фикса ошибки достаточно скачать обновление в обход службы WSUS.
- Проблему вызывают журналы DISM CBS. Утилита DISM может создавать журналы CBS с отчётами об ошибках, которые в реальности отсутствуют. Удаление журналов обслуживания помогает убрать глюк системы. Скорее всего при повторном запуске сканирования Windows через DISM, утилита покажет корректный результат.
- Неудачное обновление .NET Framework через встроенный компонент ОС. Чтобы загрузить и поставить более новую версию .NET Framework без ошибки, лучше использовать Powershell;
- Настройки групповой политики блокируют выполнение действия. Существует одна настройка в групповой политике, которая в неактивном состоянии может вызывать ошибку 0x800f0954. Решением проблемы станет включение одной опции в редакторе.
Способы исправления были подобраны согласно перечисленным проблемам. Каждую неисправность по-отдельности можно устранить, заменив всего одну настройку или выполнив несколько ручных действий. Однако, чтобы понять, в чём истинная первопричина проблемы, порой нужно выполнить несколько манипуляций. Все способы размещены в том порядке, в котором их целесообразно использовать с точки зрения эффективности и простоты применения.
Способ 1: обход WSUS
Очевидно, что для получения дополнительных компонентов Windows обязателен доступ к серверам корпорации Microsoft. Если нужного подключения система установить не может, как раз и появляется ошибка 0x800f0954. Приблизительно 35% всех отчётов от серверных машин о сбое вызваны проблемами с подключением к серверу. Всё из-за того, что они настроены на загрузку обновлений с серверов WSUS.
Если у читателя аналогичная проблема, скорее всего когда-то компьютер состоял в доменной сети, поэтому в нём сохранились старые настройки групповой политики. При этом сценарии следует установить временный костыль, позволяющий обойти сервер WSUS. Для этого нужно изменить настройки реестра.
Важно! Перед работой с реестром лучше сделать точку восстановления Windows. Изменив не тот параметр или задав неправильное значение, можно нарушить правильность работы системы.
Что нужно сделать:
- Нажать сочетание кнопок Win + R на клавиатуре.
- В диалоговое окно «Выполнить» вставить слово regedit и нажать Ctrl + Shift + Enter (позволяет запустить редактор реестра с администраторскими правами). Если появится уведомление от приложения «Контроль учётных записей пользователей», следует подтвердить действие кнопкой «Да».
- На вертикальной панели последовательно открыть HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU или вставить ссылку в навигационную панель. Возможно, «WindowsUpdate» не удастся найти, в этом случае стоит нажать ПКМ по рабочему окну и создать данный ключ. То же самое сделать с ключом «AU».
- В конечной папке в панели справа щёлкнуть ПКМ и выбрать «Создать» — «Строковый параметр». Значение нужно переименовать в «UserWUServer».
- Двойным нажатием открыть только что созданный параметр и задать ему значение 0.
- Выйти из редактора реестра и перезагрузить компьютер.
Способ 2: Очистка журналов CBS
Исходя их личного опыта и опыта многих пользователей, можно сказать, что в борьбе с ошибкой 0x800f0954 может помочь удаление журнала CBS (Component Based Servicing). Он создан DISM. Следующий этап – заново запустить DISM и воспроизвести действие по установке компонента Windows, ранее вызывавшего ошибку.
Пошаговое руководство:
- Открыть «Проводник» и перейти по пути C:\Windows\Logs\CBS.
- Попав в папку CBS, нажать Ctrl + A для выделения всего содержимого и Del – для его удаления. Как только все файлы с расширением .log и .cab удалятся, можно закрыть «Проводник».
- Нажать ПКМ по «Пуску» и выбрать «Командная строка (Администратор). Если появится уведомление UAC, в нём нажать «Да» для подтверждения выдачи прав.
- В консоль с полными правами вставить команду — Dism.exe /online /enable-feature /featurename:NetFX3 /source:C:\ и нажать Enter.
- Выполнить перезапуск системы.
Способ 3: использование PowerShell для инсталляции .NET Framework
Если проблема возникла при установке .NET Framework при помощи DISM, стоит обратиться к другому инструменту – Powershell. Он работает по иному принципу, и с большей долей вероятности установит подходящий компонент.
Инструкция:
- Нажать сочетание Win + R, вставить в строку powershell и щёлкнуть по клавишам Ctrl + Shift + Enter.
- После запуска Powershell в режиме повышенных прав вставить запись Add-WindowsCapability -Online -Name NetFx3 ~ ~ ~ ~ — Source D: \sources\sxs и применить действие кнопкой Ввод.
- Закрыть консоль, и перезапустить компьютер.
- Проверить всё ли работает правильно.
Способ 4: изменение настроек редактора групповой политики
Метод применим в ситуации, когда ошибка 0x800f0954 сопровождает попытку добавить инструментарий RSAT. В такой ситуации пользователю придётся внести пару изменений в настройки групповой политики.
Важно! Редактор групповой политики доступен не во всех версиях Windows. Если установлена «десятка» в редакции Home, по умолчанию не будет доступа к данному инструменту. Придётся дополнительно установить редактор.
При наличии доступа к групповым политикам, следует:
- Щёлкнуть по значку лупы возле «Пуска», вставить название файла gpedit.msc и открыть его.
- Внутри редактора перейти в раздел «Административные шаблоны\Система».
- В правой области найти параметр «Укажите параметры для установки необязательных компонентов…» и дважды щёлкнуть по нему.
- Перевести её в состояние «Включено».
- Установить флажок напротив «Скачайте содержимое для восстановления…».
- Нажать на кнопку «Применить» и закрыть редактор.
На этом всё, какой-то из способов должен помочь исправить ошибку 0x800f0954 и всё-таки установить нужный компонент Windows. Изначально стоит выбрать свою ситуацию и перейти к решению, разработанному под неё. Если не получается определить свою проблему, можно выполнить все действия последовательно.
Некоторые программы в Windows 10 для корректного запуска требуют наличия установленных старых версий .NET Framework 2.0, 3.0 или 3.5.
The application requires the .NET Framework version 2.0. Please install the .NET Framework and run this setup again.
Установка.NET Framework 2.0, 3.0 и 3.5 через Windows Update
Откройте панель Settings и перейдите в раздел Apps -> Apps and features -> Programs and Features.
Откроется стандартное диалоговое классической Панели Управления, выберите в левом столбце Turn Windows features on or off.
Также вы можете открыть это окно, нажав Win+R и набрав optionalfeatures.
В списке компонентов Windows выберите .NET Framework 3.5 (includes .NET 2.0 and 3.0) и нажмите OK.
Система должна загрузить все необходимые установочные файлы .NET Framework из Интернета с серверов Windows Update.
После загрузки и установки .NET Framework Windows запросит перезагрузку.
Установка.NET Framework 2.0, 3.0 и 3.5 с помощью PowerShell
Чтобы из консоли PowerShell в Windows запустить установка .NET Framework с серверов Windows Update, выполните следующую команду:
Add-WindowsCapability -Online -Name NetFx3~~~~
Чтобы вывести список доступных компонентов Windows 10, выполните:
Get-WindowsCapability -Online
Если в вашей инфраструктуре используется сервер обновлений WSUS, при попытке установить .Net Framework из интернета, вы получите ошибку 0x800F0954. В этом случае вы можете установить .Net из установочных файлов дистрибутива Windows.
Установка.NET Framework 2.0, 3.0 и 3.5 с установочного диска Windows 10
Распакуйте ISO образ Windows 10 в локальную или сетевую папку, либо просто смонтируйте образ в виртуальный CD-ROM.
Запустите консоль PowerShell с правами администратора и выполните следующую команду (замените путь к каталогу SxS вашего распакованного дистрибутива Windows 10):
Add-WindowsCapability -Online -Name NetFx3~~~~ -Source D:\Sources\SxS
Либо вы можете запустить установку из командной строки с помощью DISM:
DISM.exe /Online /Add-Capability /CapabilityName:NetFx3~~~~ /Source:D:\Sources\SxS
Вы можете убедиться, что.NET Framework успешно установлен с помощью команды:
Get-WindowsCapability -Online -Name NetFx3~~~~
Надеюсь, эта инструкция поможет вам справиться с ошибкой 0x800F0954 при установке .NET Framework в Windows 10.
- Remove From My Forums
-
Question
-
Title. Downloads for about 2 seconds then fails. Tried the DISM command
Dism /online /enable-feature /featurename:NetFX3 /All /Source:D:\sources\sxs
Get the same error code.
Windows 10 1709
-
Edited by
Friday, December 8, 2017 8:16 PM
-
Edited by
Answers
-
Title. Downloads for about 2 seconds then fails. Tried the DISM command
Dism /online /enable-feature /featurename:NetFX3 /All /Source:D:\sources\sxs
Get the same error code.
Windows 10 1709
Used the powershell command
Add-WindowsCapability –Online -Name NetFx3~~~~ –Source D:\sources\sxs
which worked.
-
Marked as answer by
CFFraser
Friday, December 8, 2017 8:37 PM
-
Marked as answer by
When you attempt to install .NET Framework 3.5 or any other optional feature using “Windows Features” (optionalfeatures.exe
) dialog or using DISM command-line, error 0x800F0954
may popup.
After enabling .NET Framework 3.5 and clicking OK, the following error may appear:
Windows couldn’t complete the requested changes.
The changes couldn’t be completed. Please reboot your computer and try again.
Error code: 0x800F0954
The same error may occur when attempting to install additional speech recognition or supplemental fonts using Optional features in the Settings page or using DISM command-line. For instance, you run the following command to install .NET Framework 3.5 from an elevated or administrator Command Prompt.
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All
After pressing ENTER, here is the full error message you might see:
Deployment Image Servicing and Management tool
Version: 10.0.16299.15
Image Version: 10.0.16299.192
Enabling feature(s)
[==========================100.0%==========================]
Error: 0x800f0954
DISM failed. No operation was performed.
For more information, review the log file.
The DISM log file can be found at C:\Windows\Logs\DISM\dism.log
The DISM.log
file would show these entries/errors:
xxxx, Info DISM DISM Package Manager: PID=12956 TID=12296 Further logs for online package and feature related operations can be found at %WINDIR%\logs\CBS\cbs.log - CPackageManagerCLIHandler::ExecuteCmdLine xxxx, Error DISM DISM.EXE: DISM Package Manager processed the command line but failed. HRESULT=800F0954
And the CBS.log
file would have recorded these errors:
xxxx, Info CBS DWLD:Failed to do Windows update search [HRESULT = 0x800f0954 - CBS_E_INVALID_WINDOWS_UPDATE_COUNT_WSUS] xxxx, Info CBS FC: WindowsUpdateDownloadFromUUP returns. [0x800F0954]
Note that the error 0x800f0954
refers to CBS_E_INVALID_WINDOWS_UPDATE_COUNT_WSUS
which indicates that your system might have been configured to use a WSUS server (on your domain network) to get updates instead of connecting to Windows Update servers directly.
If the error 0x800f0954
occurs installing optional Windows features, it may be because the system is unable to access the Windows Update server. This is especially true in case of domain-joined computers which is configured to downloads updates from a WSUS server. It could also be possible that your computer was once a part or a corporate or domain network and the group policy setting is still in place.
Method 1: Bypass WSUS to Install Features/Updates Directly from Windows Update
To fix the problem, temporarily bypass WSUS server using the following registry edit (requires administrator privileges).
- Right-click Start, and click Run
- Type
regedit.exe
and click OK - Go to the following registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
- On the right-pane, if the value named
UseWUServer
exists, set its data to0
- Exit the Registry Editor
- Restart Windows.
Note: Please note that some servers will flip the UseWUServer back to 1 on reboot. In that scenario, set it to 0, restart the Windows Update service (without rebooting), and install the required optional feature (Feature on Demand).
Automate the above, using PowerShell (admin)
Here are the PowerShell commands to automate the following steps:
- Set “UseWUServer” registry setting to 0
- Restart the Windows Update service
- Install .NET Framework (“NetFx3”)
- Then, flip “UseWUServer” back to 1.
Set-ItemProperty "REGISTRY::HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU" UseWUserver -value 0 Get-Service wuauserv | Restart-Service Add-WindowsCapability –Online -Name NetFx3~~~~ Set-ItemProperty "REGISTRY::HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU" UseWUserver -value 1
See if you’re able to install .Net Framework 3.5 or any other optional feature (e.g., Print Management, RSAT, Notepad, etc.) now. In most cases, the above steps should fix the problem.
Method 2: Bypass WSUS for Repair Content/Feature On Demand Downloads
Using this method, you can bypass WSUS server only for downloading repair content and Feature-on-Demand package installation. After you enable the following setting, Windows will use Windows Update (instead of WSUS) to download the FOD packages or the files needed to repair the operating system corruption.
- Open the Group Policy Editor (
gpedit.msc
). - Go to:
Computer Configuration → Policies → Administrative Templates → System
- Double-click “Specify settings for optional component installation and component repair”
- Set “Download repair content and optional features directly from Windows Update instead of Windows Server Update Services (WSUS)” to Enabled.
(This policy setting specifies the network locations that will be used for the repair of operating system corruption and for enabling optional features that have had their payload files removed.)
Alternately, use the following registry setting equivalent:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Servicing] "RepairContentServerSource"=dword:00000002
This fixes the error 0x800f0954
when installing a feature (FOD) using GUI or DISM.
Method 3: Install .NET Framework (or Optional Features) from Windows 10/11 ISO or DVD
If the procedure under Method 1 or 2 did not help, you may use the following DISM command (with the installation source path) to install additional features from the Windows 10/11 ISO or DVD.
Here are the steps to install .NET Framework 3.5 from the Windows setup disk or ISO:
- Obtain the latest Windows 10/11 ISO (assuming that your Windows 10/11 system is running the newest build) using the Media Creation Tool.
Download Windows ISO Using Media Creation Tool Editor’s note: Even better option would be to update your Windows 10 device fully, and then prepare an up-to-date Windows 10 setup disk by slipstreaming. See how to Slipstream Windows (Integrate Updates with Original Setup Disk)
- Mount the ISO image by double-clicking on the ISO file.
- Note down the drive letter of your DVD or the mounted drive, let’s say
H:\
- Open an elevated Command Prompt (Administrator) window.
- Type the following command, and press ENTER
dism /online /enable-feature /featurename:NetFX3 /Source:H:\sources\sxs /LimitAccess
Note: If you need to install the “Windows Communication Foundation (WCF) HTTP Activation” and “Windows Communication Foundation (WCF) Non-HTTP Activation”, make sure you add the /All
parameter, as seen in the above screenshot. As said earlier, these two components are usually not required for most users.
Similarly, to install other optional features using DISM, refer blog post Adding features (including .NET 3.5) to Windows 10 – Michael Niehaus’ Windows and Office deployment ramblings as well as Microsoft Docs articles DISM Capabilities Package Servicing Command-Line Options & Available features on demand
Hope this article helped you install .NET Framework 3.5 or any other optional Windows features, without getting the error 0x800F0954
.
One small request: If you liked this post, please share this?
One «tiny» share from you would seriously help a lot with the growth of this blog.
Some great suggestions:
- Pin it!
- Share it to your favorite blog + Facebook, Reddit
- Tweet it!
So thank you so much for your support. It won’t take more than 10 seconds of your time. The share buttons are right below.
Related article
- [Fix] .NET Framework 3.5 Error 0x800f0950 in Windows 10/11