Quick tip: avoid error 0x800f0954

  • Context:

I was comparing features of Windows between branches and got this error when I run the Get-WindowsCapability cmdlet:
Get-WindowsCapability : Get-WindowsCapability failed. Error code = 0x800f0954

I also tried

DISM.exe /online /get-capabilities

If you open the dism.log file as suggested, it doesn’t help in this case:

  • Cause:

It’s not obvious unless you start reading the help of dism.exe or use the tab completion of the Get-WindowsCapability cmdlet and see that there are more parameters than those documented online, like /Source and /LimitAccess

If your computer is not allowed to contact Windows Update or uses a WSUS server that has not activated the UpdateCategories named ‘Windows 10 Feature On Demand (FOD)’ and approved the capability source files for FOD

You may notice in the WindowsUpdate.log that when you don’t use the /LitmitAcces that you’ve some lines like this:
ComApi *END * Search ClientId = TrustedInstaller FOD Enumerate, Updates found = 0, ServiceId…

And if I open the CBS.log file suggested in the dism.log file, I can see that 0x800f0954 means CBS_E_INVALID_WINDOWS_UPDATE_COUNT_WSUS

  • Solution:

Just use the /LimitAccess as suggested 😀

Get-WindowsCapability -Online -LimitAccess

Wouldn’t it be nice to have a dism command (and its equivalent PowerShell cmdlet) to know what sources it queries and/or will use?
Wouldn’t it be nice to have an official documentation that tells how to configure FOD in WSUS next to this one
(btw, WSUS is mentioned only once on a page next to above one and says the following 😦

If you read this article and know the answer to these 2 questions, please ping me in the comments below.

10 thoughts on “Quick tip: avoid error 0x800f0954

  1. I think installing FOD with WSUS is no more possible for 1809.
    You can install only when allowing contact to Windows Update.
    Or download FOD from volume license.
    Then create a share locally and put the content there.
    You then install using the source parameter like this :
    -source \\share\fod

  2. Can confirm that FOD has quietly gone!

    If you have a WSUS and need to install FOD stuff you have to make a GPO:
    “Specify settings for optional component installation and component repair\Download repair content and optional features directly from Windows Update instead of Windows Server Update Services (WSUS)” and set it to Enabled.

    Took us a week to figure that out cause there is not much to find on that topic.
    So it would be very nice to create a useful error message instead of 0xIAMAERROR

  3. When I try that I get:

    Get-WindowsCapability : A parameter cannot be found that matches parameter name ‘LimitAccess’.

  4. Get-WindowsCapability does NOT support the parameters -source or -limitaccess in Windows 1809.

    Commands in this blog post are not applicable for Windows 10 1809 and beyond.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.