You try to install an optional feature in Windows 11, such as Windows Subsystem for Linux or .NET Framework 3.5, and the progress bar stays stuck at 0 percent. The installation either hangs indefinitely or eventually fails with an error code. This problem typically occurs when the Component-Based Servicing component cannot access the required files from Windows Update or from a local source. This article explains the root cause of the stuck installation and provides four tested methods to get the feature installed successfully.
Key Takeaways: Fix Windows 11 Optional Features Stuck at 0%
- Settings > System > Optional Features > View Features > Add feature: The normal UI path that triggers the installation but fails when component store or Windows Update is broken.
- DISM /Online /Enable-Feature /FeatureName: /Source: /LimitAccess: Command-line method that bypasses Windows Update and installs the feature from an offline Windows image file.
- Windows Update Troubleshooter in Settings > System > Troubleshoot > Other troubleshooters: Automated tool that repairs the Windows Update service and the component store corruption.
Why Windows 11 Optional Features Get Stuck at 0 Percent
The optional features installer in Windows 11 relies on the Component-Based Servicing component, also known as CBS. CBS manages the installation, uninstallation, and servicing of Windows features. When you click Add a feature in Settings, Windows 11 contacts Windows Update to download the required payload files. If the Windows Update service is disabled, the update cache is corrupted, or the Component Store itself has integrity problems, CBS cannot start the download. The progress bar stays at 0 percent because the servicing stack never receives the data it needs to begin the operation.
A second common cause is a missing or corrupted local source. Some optional features, especially older ones like .NET Framework 3.5, require files from the original Windows installation media. If the local source path is not configured correctly in Group Policy or the registry, CBS cannot find the files and hangs at 0 percent. The same symptom can appear after a failed Windows Update, a disk cleanup that removed the update cache, or a system file check that marked components as repairable but never completed the repair.
Method 1: Run the Windows Update Troubleshooter
The built-in Windows Update Troubleshooter can automatically detect and repair common CBS and Windows Update problems. Run it before trying manual commands.
- Open the troubleshooter list
Press Windows key + I to open Settings. Go to System > Troubleshoot > Other troubleshooters. - Start the Windows Update troubleshooter
Find Windows Update in the list and click Run. Wait while the tool scans for issues. - Apply the fixes
If the troubleshooter finds problems, click Apply this fix. Restart your PC when prompted. - Retry the optional feature installation
Go back to Settings > System > Optional Features > View features. Select the feature you want and click Next > Install. Check if the progress moves past 0 percent.
Method 2: Use DISM to Install the Feature from a Local Source
DISM can install an optional feature directly from a Windows 11 ISO file or an extracted installation folder. This method bypasses Windows Update entirely and works when the update service is broken.
- Mount or extract the Windows 11 ISO
Download the Windows 11 ISO from the Microsoft website. Right-click the ISO file and select Mount. Note the drive letter, for example D:. - Open an elevated Command Prompt
Press Windows key + X and select Terminal Admin or Command Prompt Admin. Click Yes on the UAC prompt. - Find the exact feature name
Run this command to list all available features:dism /online /get-features /format:table.
Scroll to find the feature you want, for exampleNetFx3for .NET Framework 3.5. - Install the feature using the local source
Run this command, replacing D: with your mounted ISO drive and NetFx3 with your feature name:dism /online /enable-feature /featurename:NetFx3 /all /source:D:\sources\sxs /limitaccess
The /all switch enables all parent features. The /limitaccess switch tells DISM to use only the local source. - Wait for the operation to complete
DISM shows a progress percentage. When it reaches 100 percent, restart your PC.
Method 3: Repair the Component Store with SFC and DISM
If the Component Store is corrupted, the optional features installer cannot read the required manifest files. Run System File Checker and DISM RestoreHealth to repair the store.
- Open an elevated Command Prompt
Press Windows key + X and select Terminal Admin. Click Yes on the UAC prompt. - Run the DISM RestoreHealth scan
Type:dism /online /cleanup-image /restorehealth
Wait for the scan to complete. This operation may take 15 to 30 minutes. - Run System File Checker
After DISM finishes, type:sfc /scannow
Wait for the scan to finish. SFC repairs any corrupted system files. - Restart and retry the installation
Restart your PC. Go to Settings > System > Optional Features and try adding the feature again.
Method 4: Reset the Windows Update Components Manually
If Windows Update is stuck or corrupted, reset its components using a script. This method stops the update services, clears the cache, and re-registers the DLL files.
- Open an elevated Command Prompt
Press Windows key + X and select Terminal Admin. Click Yes on the UAC prompt. - Stop the Windows Update services
Run these commands one at a time:net stop wuauservnet stop cryptSvcnet stop bitsnet stop msiserver - Clear the update cache
Run:ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
Run:ren C:\Windows\System32\catroot2 catroot2.old - Restart the services
Run these commands one at a time:net start wuauservnet start cryptSvcnet start bitsnet start msiserver - Restart and retry
Restart your PC. Go to Settings > System > Optional Features and try adding the feature again.
If Windows 11 Optional Features Still Fail at 0 Percent
Feature requires a specific edition of Windows 11
Some optional features, like Windows Sandbox or Hyper-V, are only available on Windows 11 Pro, Enterprise, or Education editions. If you are running Windows 11 Home, the installation will fail at 0 percent because the feature is not present in the servicing stack. Check your edition by going to Settings > System > About. If you need the feature, upgrade your edition through Settings > System > Activation > Change product key.
Group Policy blocks installation from Windows Update
In some corporate environments, Group Policy disables the option to download optional features from Windows Update. Open Group Policy Editor by running gpedit.msc. Go to Computer Configuration > Administrative Templates > System. Find the policy named Specify settings for optional component installation and component repair. Set it to Enabled and specify a network share or the Windows 11 installation media path as the alternative source.
Corrupted user profile interferes with the installer
A damaged user profile can prevent the optional features UI from communicating with CBS. Create a new local user account by going to Settings > Accounts > Other users > Add account. Sign in with the new account and try installing the optional feature. If it works, migrate your files and settings to the new profile.
| Item | Windows Update Troubleshooter | DISM with Local Source |
|---|---|---|
| Time required | 5 to 10 minutes | 15 to 30 minutes |
| Internet required | Yes | No |
| Fixes component store corruption | Partial | Yes |
| Bypasses Windows Update | No | Yes |
| Requires Windows 11 ISO | No | Yes |
You can now resolve the 0 percent stuck state for Windows 11 optional features using the Windows Update Troubleshooter, DISM with a local source, or a full component store repair. Start with the troubleshooter because it is the fastest option. If that fails, use DISM with a mounted ISO to bypass Windows Update entirely. For persistent corruption, run SFC and DISM RestoreHealth before retrying the installation. As an advanced step, use the registry key HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Servicing to set a custom local source path so CBS always knows where to find the feature payload.