[Fix] DISM and .NET Framework 3.5 Error 0x800F081F

When running the following DISM command, the error 0x800F081F may appear in some systems. The same error occurs when installing the .NET Framework in Windows 10.

Dism /Online /Cleanup-Image /RestoreHealth
Error: 0x800f081f
The source files could not be found.
Use the "Source" option to specify the location of the files that are required to restore the feature. For more information on specifying a source location, see http://go.microsoft.com/fwlink/?LinkId=243077.

DISM Error 0x800f081f The source files could not be found
DISM Error: 0x800f081f — The source files could not be found

DISM.log

Error DISM DISM Package Manager: PID=13368 TID=5124 Failed finalizing changes. - CDISMPackageManager::Internal_Finalize(hr:0x800f081f)
Error DISM DISM Package Manager: PID=13368 TID=5124 The source files could not be found; their location must be specified using the /source option to restore the feature. - GetCbsErrorMsg
Error DISM DISM Package Manager: PID=13368 TID=5124 Failed processing package changes with session option CbsSessionOptionRepairStoreCorruption - CDISMPackageManager::RestoreHealth(hr:0x800f081f)
Error DISM DISM Package Manager: PID=13368 TID=5124 The source files could not be found; their location must be specified using the /source option to restore the feature. - GetCbsErrorMsg
Error DISM DISM Package Manager: PID=13368 TID=5124 Failed to restore the image health. - CPackageManagerCLIHandler::ProcessCmdLine_CleanupImage(hr:0x800f081f)
Error DISM DISM Package Manager: PID=13368 TID=5124 Failed while processing command cleanup-image. - CPackageManagerCLIHandler::ExecuteCmdLine(hr:0x800f081f)

CBS.log

CBS    Exec: Processing complete, session(Corruption Repairing): 30459372_734419507 [HRESULT = 0x800f081f - CBS_E_SOURCE_MISSING]
CBS    Session: 30459372_734419507 failed to perform store corruption detect and repair operation. [HRESULT = 0x800f081f - CBS_E_SOURCE_MISSING]
CBS    Session: 30459372_734419507 finalized. Download error: 0x80240022 [Unknown Error], Reboot required: no [HRESULT = 0x800f081f - CBS_E_SOURCE_MISSING]
CBS    Failed to FinalizeEx using worker session [HRESULT = 0x800f081f]

The same error (0x800F081FCBS_E_SOURCE_MISSING) may occur when you attempt to install .NET Framework 3.5 via Optional Features.

0x800F081F error .net framework

Windows couldn't find required files to complete the requested changes. Make sure you're connected to Internet, and try again:

Error code: 0x800F081F

DISM.log

The source files could not be found.
Use the "Source" option to specify the location of the files that are required to restore the feature. For more information on specifying a source location, see http://go.microsoft.com/fwlink/?LinkId=243077.
The DISM log file can be found at C:\Windows\Logs\DISM\dism.log
0x800F081F - CBS_E_SOURCE_MISSING

This post tells you how to fix the .NET Framework installation and the DISM error 0x800f081f in Windows 10.

Cause

The error 0x800F081F when running DISM or .NET Framework installation can occur due to one of the following reasons:

  • The component store is corrupted, or several files are missing in the store.
  • The system is unable to access the Microsoft Update servers to restore the missing files.
  • The location specified by the path does not contain the files required to install the feature.
  • The user who tries installing the feature does not have at least READ access to the location and files.
  • The set of installation files is corrupted, incomplete, or invalid for the version of Windows that you are running.

Fix: DISM and .NET Framework Error 0x800f081f

Option 1: Bypass WSUS

If your computer is configured to use your company’s WSUS server or SCCM, temporarily bypass WSUS/SCCM 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 if it exists:
    HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU

    (If the above registry branch or the value UseWUServer doesn’t exist, then it means that the WU server policy is not set. In that case, skip to Step 5.)

  4. In the right pane, if the value named UseWUServer exists, set its data to 0
  5. Go to the following key:
    HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate
  6. Delete the value named DisableWindowsUpdateAccess if it exists.
  7. Exit the Registry Editor
  8. Restart Windows.

Now, your computer is configured to fetch files or packages from Microsoft’s Windows Update servers rather than your office network’s WSUS/SCCM server.

After restarting Windows, you should be able to run the DISM command or install .NET Framework successfully. Run the DISM command (or install .NET Framework) after connecting your computer to the internet. DISM fetches the missing files from Microsoft’s servers automatically.



Install .NET Framework

Now, run this command if you want to install .NET Framework:

dism /online /enable-feature /featurename:NetFX3 /All

Alternatively, you can install it via Windows Features (optionalfeatures.exe)

enable feature .net framework 3.5

If that doesn’t work, follow the instructions in Option 2 below.


Option 2: Run DISM or Install .NET Framework from local installation source (offline)

Fix for .NET Framework error 0x800f081f

To fix the error 0x800F081F when installing .NET Framework, mention the local source path (i.e., mounted ISO or USB setup disk).

  1. Download a fresh copy of Windows 10 or 11 ISO from Microsoft.
  2. Mount the ISO to a drive letter — e.g., G:\.
    The “Sources\Sxs” folder in the ISO contains the CAB file (“microsoft-windows-netfx3-ondemand-package~31bf3856ad364e35~amd64~~.cab”) needed to install .NET Framework 3.5.

    iso netfx3 cab.

    (If you have a multi-architecture Windows 10 setup disk, be sure to use the correct “Sources” folder. For x64 version, the path could be G:\x64\sources\sxs and for x86, the path G:\x86\sources\sxs.)

  3. To install .NET Framework using the local install source (e.g., G:\Sources from the USB Setup disk or mounted ISO), run the appropriate command:
    dism /online /enable-feature /featurename:NetFX3 /All /Source:G:\sources\sxs /LimitAccess

    (or)

    dism /online /enable-feature /featurename:NetFX3 /All /Source:G:\x86\sources\sxs /LimitAccess

    (or)

    dism /online /enable-feature /featurename:NetFX3 /All /Source:G:\x64\sources\sxs /LimitAccess

    You should see the following output:

    Enabling feature(s)
    [==========================100.0%==========================]
    The operation completed successfully.

    Alternatively, if you prefer PowerShell instead of DISM, then use this command to install .NET Framework using a local installation source:

    Enable-WindowsOptionalFeature –Online –FeatureName "NetFx3" –Source G:\sources\sxs -LimitAccess
    
    (or)
    
    Enable-WindowsOptionalFeature –Online –FeatureName "NetFx3" –Source G:\x86\sources\sxs -LimitAccess
    
    (or)
    
    Enable-WindowsOptionalFeature –Online –FeatureName "NetFx3" –Source G:\x64\sources\sxs -LimitAccess

Fix for DISM error 0x800f081f

The solution for DISM Error 0x800f081f would be to download a fresh ISO from Microsoft, slipstream the Windows 10 setup disk, and mention it as the repair source when running the DISM command. Slipstreaming is a process of integrating updates (and drivers, optionally) and making an updated Windows 10 or 11 Setup disk or ISO.

  1. Follow the steps in the article Slipstream Windows 10/11 to create a slipstreamed Windows 10 setup disk.
    extract iso contents to a folder
  2. Then, open an elevated or admin Command Prompt.
  3. The ISO files downloaded from Microsoft have multiple Windows 10 Editions in them. You need to find the index that corresponds to the edition of Windows you’re going to repair. You can find it using DISM’s Get-Wiminfo command-line.
  4. Find the list of indexes and the corresponding editions found in the install.wim, by running the following command:
    dism /get-wiminfo /wimfile:"D:\sources\install.wim"

    … where D:\ is the drive letter of the mounted ISO or Windows Setup DVD.

    In the case of ISOs downloaded from Microsoft, you’ll see more indexes (Meaning: Multiple windows images or different editions combined into the install.wim). For example, here’s the list of indexes found inside the Windows 10 ISO (may vary from ISO build to ISO build) from Microsoft:

    Index : 1
    Name : Windows 10 Home
    Description : Windows 10 Home
    Size : 14,168,728,218 bytes
    
    Index : 2
    Name : Windows 10 Home N
    Description : Windows 10 Home N
    Size : 13,409,860,497 bytes
    
    Index : 3
    Name : Windows 10 Home Single Language
    Description : Windows 10 Home Single Language
    Size : 14,168,323,899 bytes
    
    Index : 4
    Name : Windows 10 Education
    Description : Windows 10 Education
    Size : 14,413,769,870 bytes
    
    Index : 5
    Name : Windows 10 Education N
    Description : Windows 10 Education N
    Size : 13,651,680,505 bytes
    
    Index : 6
    Name : Windows 10 Pro
    Description : Windows 10 Pro
    Size : 14,413,947,833 bytes
    
    Index : 7
    Name : Windows 10 Pro N
    Description : Windows 10 Pro N
    Size : 13,649,482,925 bytes
    
    Index : 8
    Name : Windows 10 Pro Education
    Description : Windows 10 Pro Education
    Size : 14,413,708,288 bytes
    
    Index : 9
    Name : Windows 10 Pro Education N
    Description : Windows 10 Pro Education N
    Size : 13,651,618,023 bytes
    
    Index : 10
    Name : Windows 10 Pro for Workstations
    Description : Windows 10 Pro for Workstations
    Size : 14,413,739,079 bytes
    
    Index : 11
    Name : Windows 10 Pro N for Workstations
    Description : Windows 10 Pro N for Workstations
    Size : 13,651,649,264 bytes
  5. Let’s say you have Windows 10 Home Edition. The index is 1 as per the above output. Therefore, run the following command:
    Dism /Online /Cleanup-Image /RestoreHealth /Source:wim:"D:\Sources\Install.wim":1 /limitaccess

    That’s it! the DISM operation has now been completed successfully!

    dism wimfile sources

    *Important*: Don’t use ESD!

    If you have install.esd (instead of install.wim) in the Windows 10/11 setup disk, you must convert the ESD file into WIM for the above DISM command to work. In our tests, DISM was unable to use Install.esd as the source and the command ended up with the 0x800f081f error every time, regardless of the syntax (/source:wim:g:\sources\install.esd or /source:esd:g:\sources\install.esd) used.

    dism restorehealth esd fails

    The following command is absolutely useless. Don’t use it. It does nothing.

    Dism /Online /Cleanup-Image /RestoreHealth /Source:esd:"D:\Sources\Install.esd":1 /limitaccess

    After converting the ESD file to WIM, I ran DISM mentioning the Install.wim file as the source. It ran perfectly fine, and it restored the missing manifest files indeed!

    dism restorehealth wim success

    Please keep this important point in mind when running DISM.

    If you don’t use a slipstreamed Windows 10/11 disk (integrated with the latest updates), the error 0x800f081f may still appear. The ISO/repair source must be the same build your system is running. For instance, you can’t repair a Windows 10 build 16299.98 using the Windows 10 Build 16299.15 ISO.

This fixes the DISM error 0x800f081f, and you should now see the message “The restore operation completed successfully.”

Once the DISM command completes successfully, follow up with the sfc /scannow command (from elevated Command Prompt) if necessary. For more information, check out the article Repair Windows 10 Using DISM and SFC.


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

Ramesh Srinivasan is passionate about Microsoft technologies and he has been a consecutive ten-time recipient of the Microsoft Most Valuable Professional award in the Windows Shell/Desktop Experience category, from 2003 to 2012. He loves to troubleshoot and write about Windows. Ramesh founded Winhelponline.com in 2005.

9 thoughts on “[Fix] DISM and .NET Framework 3.5 Error 0x800F081F”

  1. “Note that if you don’t use a slipstreamed Windows 10 disk with latest updates, error 0x800f081f may still appear. In short the ISO/repair source must be of the same build that your system is running. For instance, you can’t repair a Windows 10 build 16299.98 using the Windows 10 Build 16299.15 ISO”

    So since microsoft only makes the base build available, how do you use this method, if you have any of the cummulative updates installed? I used the media creation tool to try and fix my system image but I keep getting this error.

    Reply
  2. For those who’re on Insider preview builds, you can grab the ISO here: https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewadvanced

    This was the fix I’ve been trying to find for over a year. Creating the streamlined ISO does take time, however that is exactly what fixed it for me. When grabbing the .msu & .cab for insider previews, just stick to the regular search mentioned in step 4, swapping out ‘1709’ if your version is different (obviously).

    Previously I had to result to using the Windows Media Creation Tool to upgrade Windows which unfortunately resets your Windows settings. It’s been such a pain trying to follow Microsoft’s own guides and references which are no use for most people. Took two tabs from this website compared to 7 tabs for the aforementioned pages from Microsoft.

    Reply
  3. Thanks for writing this. I’ve spent two frustrating days trying to resolve a host of install/upgrade issues after having to re-install Windows 10 1703 and apply the upgrades.

    Your write up is clear and concise and lightyears ahead of anything on the official Microsoft sites/forums. Using it has sorted my issues is a couple of hours

    Reply
  4. Thanks for this!
    Worked for me.

    I used method 1, with the following differences:
    – Set “DisableWindowsUpdateAccess” value to 0 instead of deleting it.
    – Used PowerShell (with admin rights) and only restarted windows update instead of the whole computer with command: Restart-Service “Windows Update”

    Reply

Leave a Reply to Graham Cancel reply