[Fix] Error 0x800F0954 Installing .NET Framework 3.5 or Any Optional Feature

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.

enable feature .net framework 3.5

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

windows features error 0x800F0954 .net framework

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.



[Fix] Error 0x800F0954 Installing .NET Framework 3.5 or Any Optional Feature

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.

Step 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).

  1. Right-click Start, and click Run
  2. Type regedit.exe and click OK
  3. Go to the following registry key:
    HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
  4. In the right-pane, if the value named UseWUServer exists, set its data to 0
  5. Exit the Registry Editor
  6. Restart Windows.

See if you’re able to install .Net Framework 3.5 or any optional features now. In most cases, the above steps should fix the problem.

Step 2: Install .NET Framework (or Optional Features) from Windows 10 ISO or DVD

If the procedure under Step 1 did not help, you may use the following DISM command (with the installation source path) to install additional features from the Windows 10 ISO or DVD. However, you must make sure that the Windows 10 version on your DVD or ISO corresponds to the version of Windows 10 installed on your system.

Here is the steps to install .NET Framework 3.5 from the Windows 10 setup disk or ISO:

  1. Obtain the latest Windows 10 ISO (assuming that your Windows 10 system is running the newest build) using the Media Creation Tool.
    media creation tool - download windows 10 iso, usb installation media
    Download Windows 10 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 10 (Integrate Updates with Original Setup Disk)

  2. Mount the ISO image by double-clicking on the ISO file.
  3. Note down the drive letter of your DVD or the mounted drive, let’s say H:\
    .net framework error - iso sources sxs
  4. Open an elevated Command Prompt (Administrator) window.
  5. Type the following command, and press ENTER
    dism /online /enable-feature /featurename:NetFX3 /Source:H:\sources\sxs /LimitAccess

    dism enable feature netfx3

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.

tips bulb iconSimilarly, 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 OptionsAvailable 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, my reader. It won't take more than 10 seconds of your time. The share buttons are right below. :)

Related article

About the author

Ramesh Srinivasan founded Winhelponline.com back in 2005. He is passionate about Microsoft technologies and he has been a Microsoft Most Valuable Professional (MVP) for 10 consecutive years from 2003 to 2012.

29 thoughts on “[Fix] Error 0x800F0954 Installing .NET Framework 3.5 or Any Optional Feature”

    • Thanks for the feedback. UseWUServer = 0 should take care of the problem.

      Solution #2 to (offline) install the optional feature eg., .NET framework, RSAT tools, etc., works even if UseWUServer is set to 1.

  1. Many thanks, bypassing WSUS was required for me to use the ‘Add Windows Feature’ tool.
    First time that was required, have been able to use DISM previously.

  2. Thank you.. this worked.

    It would be nice if Microsoft actually supported their products as well as the various user communities do. You can’t find a solution to this problem anywhere within Microsoft’s support sites. Even the error dialog presented sends you to a site supposedly with “help” on it…that doesn’t even mention this error code.

  3. It’s really good solution! But if your company use WSUS and verificate all update packages – need to come back { In the right-pane, if the value named UseWUServer exists, set its data to 0 } to value 1.
    Thanks for resolve my issue!

  4. Step 1 worked for me too. Been battling this for years since Windows 8. I was resorting to the cd and the dism /online command to get it installed. But now most pc’s don’t comes with a CD/DVD drive anymore. Step 1 is the quickest answer. Though you do not have to restart windows. If you do group policy likely changes that registry key back to a 1 again. You just run services.msc as an admin, scroll down to Windows Update service, right click on it and select restart. After the service restarts then you can add the feature. When you reboot, if you truely are set to use a WSUS server, group policy will likely set the registry key back. If unsure you can set it back to 1 after the .NET framework install is complete.

    I wish I knew what I could do to allow this to work WITH a WSUS server. I approved the features on demand for .NET in our WSUS server and the error persists.

  5. Disabling WSUS worked, thanks!

    But there’s no need to restart the computer after the registry change, restarting the Windows Update service is enough.

  6. Step 1 worked. Thank you so much. We have been working on this problem for weeks. Quick question. After Framework 3.5 is installed should the UseWUServer value be changed back to 1?

  7. With step1 if you just restart the windows update service after changing the registry there is no reboot required. This makes it easier for those of us that use GPOs which will overwrite the change after restart. Another admin manages the WSUS server and he was out of the office so this was a great workaround until he is back so I can throw things at him until he fixes it.

Leave a Comment