How to fix error 0x800F081F in Windows 11/10
0x800F081F means "The source files could not be found." Windows needs to download or locate specific files to install a feature or update, and it can't find them. You'll run into this most often when trying to enable .NET Framework 3.5 through Windows Features, but it also shows up during Windows Update or when installing optional features like RSAT tools.
Why this happens
- Windows can't reach Microsoft's servers to download the required files
- Group Policy or WSUS is redirecting updates to a local server that doesn't have what's needed
- Windows Update components are corrupted
- .NET Framework installation files are damaged or missing from the component store
- An older .NET version is conflicting with the one you're trying to install
1. Install .NET Framework 3.5 through DISM
The Windows Features dialog sometimes just fails silently. DISM is more reliable for this and gives you an actual error message if something goes wrong.
Open Command Prompt as admin:
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All
This tells Windows to download the files from Microsoft directly. If it works, you're done.
If you get the same 0x800F081F error here, you probably have a Group Policy blocking the download. See step 3.
2. Install from Windows installation media
If DISM can't download the files, you can point it at a Windows ISO or USB drive instead. Mount the ISO or plug in the USB, check what drive letter it gets, and look for a sources\sxs folder on it. Then run:
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:E:\sources\sxs
Replace E: with whatever letter your installation media has. The /LimitAccess flag tells DISM not to bother trying Windows Update and just use the local files.
Make sure the installation media matches your Windows version. A Windows 10 ISO won't work on Windows 11, and the other way around.
3. Check Group Policy settings
On domain-joined PCs or machines where IT has configured WSUS, there's a policy that prevents Windows from downloading features from Microsoft's servers. This is the number one cause of 0x800F081F in business environments.
Press Win+R, type gpedit.msc. Go to Computer Configuration → Administrative Templates → System. Find the setting called Specify settings for optional component installation and component repair.
Set it to Enabled and check the box for Download repair content and optional features directly from Windows Update instead of Windows Server Update Services (WSUS). Click OK, then open Command Prompt as admin and run:
gpupdate /force
Try installing the feature again. If your machine is domain-joined and the policy keeps reverting, you'll need your IT admin to change it on the server side.
gpedit.msc isn't available on Windows Home editions. If you're on Home, this policy shouldn't be set in the first place, so skip this step.
4. Reset Windows Update components
If the error is coming from Windows Update rather than .NET, the update cache is probably corrupted. Open Command Prompt as admin:
net stop wuauserv
net stop cryptSvc
net stop bits
net stop msiserver
Rename the cache folders:
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
ren C:\Windows\System32\catroot2 catroot2.old
Start the services back up:
net start wuauserv
net start cryptSvc
net start bits
net start msiserver
Reboot and check for updates again. Delete the .old folders later once things are working.
5. Remove and reinstall .NET Framework versions
An existing .NET installation can get into a half-broken state where it blocks new installs but doesn't report any errors of its own. Easiest way past that: rip it out and start fresh.
Go to Control Panel → Programs → Turn Windows features on or off. Uncheck .NET Framework 3.5 and .NET Framework 4.8 Advanced Services (or whatever 4.x version is listed). Click OK and reboot.
Go back in and re-enable them one at a time, starting with 3.5. If 3.5 fails again through the UI, use the DISM command from step 1.
For .NET 4.x problems, you can also grab the .NET Framework Repair Tool from Microsoft. It fixes common installation issues without making you uninstall anything.
6. Run SFC and DISM
Corrupted system files in the component store can make Windows unable to find source files that are technically right there. Admin command prompt:
sfc /scannow
If SFC finds stuff it can't fix, follow up with:
DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth
RestoreHealth needs internet to download clean copies. After it finishes, run sfc /scannow again and reboot. Then try installing the feature that was failing.
7. Check for Windows updates
Microsoft has patched this exact error on certain builds through regular updates. If you've been skipping updates, catching up might be all you need.
Settings → Windows Update → Check for updates. Install everything, optional updates included. Reboot and try again.
Last resort: in-place upgrade
Download the Windows Media Creation Tool from Microsoft. Run it, pick "Upgrade this PC now", keep your files and apps. This reinstalls Windows over itself, which rebuilds the entire component store from scratch. After it finishes, .NET and optional features should install without complaining about missing source files.