Error 0xC004000D: parent features are disabled (how to fix it)

Quick answer: 0xC004000D is not a Windows activation error. It’s a feature-install error with the message One or several parent features are disabled so current feature can not be enabled. The feature you’re adding depends on another feature that is switched off. Add /All to your DISM command (or -All in PowerShell) so Windows turns the parent on too, and for .NET Framework 3.5 point it at the \sources\sxs folder on matching install media.

What 0xC004000D actually means

Because many Windows activation codes start with 0xC004, this one often gets listed in activation guides. It isn’t in either of Microsoft’s activation error lists, and every report that shows the full message ties it to installing a Windows role or optional feature: Server Manager’s Add Roles and Features wizard, DISM /Enable-Feature, Enable-WindowsOptionalFeature, or an installer that calls the DISM API in the background.

Windows features form a tree. Some can only be turned on after a parent feature is on. Microsoft’s DISM API documentation says that when the parent isn’t enabled, a special error code is returned, and that you can either enable all dependencies in the same call or enable the parents first. In third-party copies of the DISM API header the code is named DISMAPI_E_PARENT_FEATURE_DISABLED; Microsoft’s own pages don’t show the hex value, but the name matches the message.

You’ll see it most often on Windows Server with .NET Framework 3.5 or RSAT tools, but the same rule applies to optional features on Windows 11 and 10.

Fix 1: Let DISM enable the parent features

The direct fix is to ask Windows to switch on everything the feature depends on. Open Command Prompt as administrator and add /All to the command that failed:

DISM /Online /Enable-Feature /FeatureName:<FeatureName> /All

Microsoft’s DISM reference describes /All as enabling all parent features of the one you name. The PowerShell equivalent is:

Enable-WindowsOptionalFeature -Online -FeatureName <FeatureName> -All

Replace <FeatureName> with the exact internal name, such as NetFx3. The operation is all-or-nothing: the DISM API page says that if the feature or any of its dependencies can’t be enabled, none of them are changed. So if this still fails, it’s usually a missing source, covered in Fix 3.

Fix 2: Find the missing parent yourself

If an installer is the one failing and you can’t change its command, enable the parent manually and run the installer again. List every feature and its state:

DISM /Online /Get-Features /Format:Table
DISM /Online /Get-FeatureInfo /FeatureName:<FeatureName>

The first command shows which features are Disabled; the second gives details for one feature. A Microsoft engineer on Microsoft Q&A suggested saving the full list to a file for an RSAT install that failed with this code, then enabling the parent with /All:

DISM /Online /Get-Features > C:\Temp\Features.txt
DISM /Online /Enable-Feature /FeatureName:<ParentFeature> /All

Create C:\Temp first if it doesn’t exist. Restart if DISM asks you to, then retry the original install.

Fix 3: .NET Framework 3.5 needs a source

This is the most common case. Microsoft explains that Windows images ship .NET 3.5 as disabled with payload removed: only the metadata is on disk, and the actual files come from Windows Update or from the \sources\sxs folder on the install media. If neither is reachable, enabling the feature fails, and on Server it can surface as 0xC004000D.

  • Mount an ISO of the same Windows version and build as the PC (double-click it in File Explorer) and note the drive letter. Our install.esd guide explains what is on the media.
  • Run the command below, replacing D: with that drive letter.
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:D:\sources\sxs

/LimitAccess stops DISM from trying Windows Update, which helps on servers without internet access. If the media doesn’t match the installed build, DISM can fail with source errors instead; our 0x800f081f guide covers that. On domain PCs, a WSUS server or the Group Policy setting for optional component installation can also get in the way of downloading the files. We didn’t find Microsoft tying that to this exact code, so treat it as one more thing to check rather than the cause.

On Windows Server: Server Manager and remote servers

In Server Manager > Manage > Add Roles and Features, select .NET Framework 3.5 Features on the Features page, then use Specify an alternate source path on the confirmation page and enter the \sources\sxs path. Microsoft notes that when the source is a network share and you’re installing on another server, that server’s computer account (DOMAIN\ComputerName$) needs read access to the share, not just your user account.

One older blog fix for Server 2016 removes the Net-Framework-Features feature, restarts, and then reinstalls .NET 3.5 from media. It isn’t a Microsoft procedure, so try the steps above first and only remove features on a server whose workloads you understand.

If you really have an activation error

Check the code on screen again. Real activation errors are listed by Microsoft and include ones like 0x8007007B. For those, open Settings > System > Activation on Windows 11 (Settings > Update & Security > Activation on Windows 10) and select Troubleshoot. To see the license details Windows has, run slmgr /dlv in Command Prompt; it doesn’t need administrator rights.

Official sources

How we write our guides: read our editorial policy.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *