Windows 2012 and .Net 3.5 Feature Install

Windows 2012 Sever RTM was this week, I can think of no better way of honoring it than to write a post on the first thing you will have to work around when installing anything that needs .Net 3.5.   While it is well know the .Net is a feature that must be installed separately, what is not obvious is that .Net 3.5 is not actually installed at all on Windows 2012.  Which means that if you try the feature install you will have to point it to the source media if you want to use .Net 3.5.  No problem just like the old days, just point it to the source directory right?  Wrong, sort of.

The nice thing is, when using the GUI it will ask you if you need to supply a source path. 



The next part is less obvious.  On the install media you will find a “\sources\sxs” directory, SxS actually stands for side by side.  And if you have ever had to rebuild the SQL Server installer cache you are familiar with it. 

Just for the record, there is an c:\windows\WinSxS directory created when the OS is installed, but, it will not include the .Net 3.5 cache initially.  So you must either use the installation media from DVD network or share.  Having your windows folks copy just the Sources\Sxs directory to a location you can access is also supported.  If your Windows team does not want to give you access to the entire installation media, having just the sxs directory is a good compromise.

Alternatively if you would like to script the install you have two choices.

1. Powershell (As Admin)

Install-WindowsFeature Net-Framework-Core -source \\network\share\sxs


2. Old Fashion Command Line (As Admin)

DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:d:\sources\sxs

Using Powershell you can verify the install by running Get-WindowsFeature from within PS, you will notice something similar to this;

[X] .NET Framework 3.5 Features NET-Framework-Features   Installed
[X] .NET Framework 3.5 (includes .NET 2.0 and 3.0)  NET-Framework-Core Installed

Without the LimitAccess option the DISM will try to connect to Windows update whether that is on you network or via internet connection.

All of this magic is outlined in great detail here;

For the windows admin that want to use DISM to patch an offline image, those steps are included as well.


Comments (25)

  1. Greg says:

    Awesome blog, thanks man, helped me out a ton!

  2. Victor Brink says:

    So, how come the dependency checker you run prior to install doesn't pick up the framework is missing, when it is and it's dependant on it?

  3. Richard says:

    And this intuitive?

    Thanks for the post

  4. Arun says:

    Thanks for the solution, helped me a lot.

  5. Antonino Migliore says:

    Unistalled the KB2966826,27 and 28 it  the framework will be installed.

  6. Ganesh Prasad Pal says:

    Thanks a lot

  7. Eric O'Dell says:

    I had same issue uninstalled KB2966826,27 and 28 and the framework installed.

  8. J says:

    Thanks a lot

    Uninstalled the KB2966828

  9. Certified Alex says:

    You guys just saved me.. I have been pondering on why this would not install over the weekend. I used every type of media I could think of. Extracted the source file, mounted physical drive to vm etc. Nothing worked! Removed KB2966827 and it worked!! Thanks!

  10. Sicko says:

    i removed the KB2966828 since it was the only one there and it worked.

    Thanks for the info.

  11. Rich Miller says:

    Thanks for the tip — like many others, I removed KB2966827 (the only one of the three that was present) and was able to install .NET 3.5!

    Thank you again!

  12. Ben says:

    KB2966827 was the only one of the three present for me as well. Removing that allowed me to install .NET 3.5.

    Awesome tip!

  13. Russell Stitt says:

    Removed KB2966828 in an Azure VM and it worked thanks. Bit stuck otherwise since there is no media in the cloud!

  14. Russell says:

    In a windows 2012 r2 Azure VM I have no media. Removed KB2966828 as above, thanks!

  15. Korky says:

    Thank you so much! That just kicked in in the right moment!

  16. Nothing works for me says:

    I have a new install of 2012 from the MS ISO.  I don't have any subsequent updates so I have nothing to remove and no matter what I try I cannot get .net 3.5 on.


  17. Kevin says:

    Argh! Just let me download it from msdn like everything else.  So frustrating.

  18. Sheng says:

    Same problem like Kevin. no updates installed. but can't install either still. status is "removed", what? how?

  19. f miscrofot says:

    waste holly crap amount with this crap

    and permission to change a folder, wtf

  20. Justin G says:

    Is there any way to script the adding of the packages instead of using Server Manager?

  21. Drew says:

    Dont have any of the KB files and it still wont work. ugh…

  22. yash says:

    Post installation does it require a reboot?

  23. FustratedInstaller says:

    Come on Microsoft put the stupid framework on the 2012/2014 install cd and install it if needed.  Why does this require such a stupid work around?

  24. Regina says:

    Thank you! Very Helpful. I extracted the sxs from a Windows Server 2012 DVD and put it on a network share.

  25. jasmine says:

    Still I am facing problem while installing .net 3.5 in vm machines that I have configured in hyper visor.

    getting error 8128… Please help is there any procedure to install the .Net 3.5 in vm machines also I've try to install the patches same error,, Please give me proper step to install in the .net 3.5 in vm's ,

Skip to main content