UPDATE: Dec 2016 – While the process below works very well, you can eliminate future .NET install problems by installing FEATURES ON DEMAND on your companies WSUS server.

If you are unable to install .NET 3.5 on Windows 8 or 8.1 and end up with errors like 0x800F0906 and 0x800F081F you will find that errors relate to corrupt or limited access to the source files.  In ALL of the times I have tried to get around this, the source has NOT been the issue.

Often you can just install .NET 3.5 by bringing up a CMD window (don’t forget to right click and RUN AS ADMININISTRATOR) and then type either:

Dism /online /enable-feature /featurename:NetFx3 /All /Source:<drive>:\sources\sxs /LimitAccess


DISM /Online /Enable-Feature /FeatureName:NetFx3 /All

In my most recent situation I would then error out with 0x800F081F  and the logs would show:

2014-09-10 19:07:54, Error                 DISM   DISM Package Manager: PID=5116 TID=4028 Failed finalizing changes. – CDISMPackageManager::Internal_Finalize(hr:0x800f081f)
2014-09-10 19:07:54, Error                 DISM   DISM Package Manager: PID=5116 TID=4028 The source files could not be found; their location must be specified using the /source option to restore the feature. – GetCbsErrorMsg
2014-09-10 19:07:54, Error                 DISM   DISM Package Manager: PID=5116 TID=4028 Failed processing package changes with session options – CDISMPackageManager::ProcessChangesWithOptions(hr:0x800f081f)
2014-09-10 19:07:54, Error                 DISM   DISM Package Manager: PID=5116 TID=4028 Failed ProcessChanges. – CPackageManagerCLIHandler::Private_ProcessFeatureChange(hr:0x800f081f)
2014-0910 19:07:54, Error                 DISM   DISM Package Manager: PID=5116 TID=4028 Failed while processing command enable-feature. – CPackageManagerCLIHandler::ExecuteCmdLine(hr:0x800f081f)


If this is your case, then .NET may have been patched on your machine… but wait, you say, it is not installed so how could it be patched… that is a good question.  If you look at your WINDOWS UPDATES > HISTORY, you may see some .NET 3.5 patches that have been installed.  If that is the case go to PROGRAMS AND FEATURES > VIEW INSTALLED UPDATES (from the menu on the top left) and find them by KB number.  Note that I have found the names of the patches Windows Update History do NOT match what is in INSTALLED UPDATES… go figure.

Specifically I suggest you look for (and uninstall) KB2966826 & KB2966828 .  In my most recent case I only found KB2966828 but after I uninstalled it and rebooted (yes, the reboot was necessary)  I could install .NEt3.5 on my Win8 PC.


Sims01 · July 8, 2015 at 4:00 pm

I tried it but as the instalation is abt to be complete it gives an error and says I should use “turn windows features on or off”ioff” in the control panel to install but I cant cnt downdownload the required files it keeps failing….plz help guys

    Ian Matthews · July 28, 2015 at 7:40 pm

    I have not seen this fail but I would review the last two paragraphs in this post and confirm that you do NOT see any .NET updates/patches installed.

levinho · June 24, 2015 at 6:50 am

I have tried every method but the same errors appear, where can i find the windows 8.1 pro installer in the C drive

    Ian Matthews · July 28, 2015 at 7:42 pm

    I would review the last paragraphs in this post and ensure you do not have any .NET 3.5 patches installed. If that fails I would try the System File Checker (SFC /SCANNOW)

Gustavo · June 16, 2015 at 9:57 am

Excellent !! It worked like a charm !! Thanks

Hemant sutar · May 12, 2015 at 10:00 pm

thank you dear!

Gary · April 16, 2015 at 1:26 pm

I have KB2966826 installed on my surface pro 3 right out of the box and Windows will not allow me to uninstall it. This is preventing me from installing .Net 3.5. The Microsoft knowledgebase is not very helpful and I need to get this resolved. Any ideas?

Devon · March 5, 2015 at 2:34 pm

For all who are in a company environment that uses active directory policies and WSUS you must move your computer out of the OU its in , and place it in the computers Container. after doing so , go to cmd and type gpupdate /force and then reboot and then it will work GUARANTEED.

    Ian Matthews · March 22, 2015 at 12:44 am

    I would not want to Guarantee that answer as there are several causes for this problem, but I hope your solution helps someone so we will post it 🙂 Thanks for your comments.

Noop · November 21, 2014 at 4:48 am

Thank you my dear friend i spent 4 days bashing my head how to solve it and finaly you helped me!!!Keep up the good work and stay awesome! 😀

Vortexo · November 4, 2014 at 5:12 pm

Thanks for the quick tip Ian. Hat off to you.

Tim · October 30, 2014 at 11:13 am

This solution defies all logic but that’s MS for ya. Btw, it did solve my (very frustrating) problem, thanks!

JT · October 22, 2014 at 9:25 am

THANK YOU!!!!!!!!!!!!!!!!!!!!!!

Juan Vega · October 21, 2014 at 9:57 pm

I thank you very much worked to perfection

theCoder13 · October 21, 2014 at 2:13 pm

I have Win 8.1 Pro. Update History shows KB2966828 install succeeded with the date, but in Uninstall an update it is not listed. Please help me to get this removed? I urgently need the .net 3.5

balachandar.k · October 17, 2014 at 9:40 pm

thanks you boss

Shashank · October 15, 2014 at 12:17 am

Thanks for your post, it really helped me to install .net 3.5 on server 2012.

yul · October 11, 2014 at 6:12 am

I have win8. there is no KB2966826, KB2966828 and KB2966827 on the list. help please. 🙁

    Ian Matthews · October 15, 2014 at 5:13 pm

    Perhaps your machine has a different issue. Have you tried running the system file checker? Start a CMD prompt as an Administrator and type SFC /SCANNOW . After it is done, reboot and try the .Net install again.

    I hope this helps.

Questions or Comments?