How to install .NET Framework 3.5 on Windows Server 2012 and Windows Server 2012 R2

If you have an application that you want to run on Windows Server 2012 that requires the .NET Framework 3.5, you will most likely run in to a problem when trying to install it. If you are trying to install .NET Framework 3.5 from the Server Manager GUI, you will see this when installing the feature:

“Do you want to specify an alternate source path? One or more installation selections are missing source files…”

Bug when adding .net framework 3.5 in Server 2012

To solve this, you can either:

1. Go to a command prompt and enter this:

dism /online /enable-feature /featurename:NetFX3 /all /Source:d:\sources\sxs /LimitAccess

Note: Source should be the Windows installation disc. In my case, this was located on D:

Bug when adding .net framework 3.5 in Server 2012

2. Go down to “Specify an alternate source path” and enter “d:\sources\sxs” as the path.

Specify alternate source path windows server 2012 .net framework 3.5

Specify alternate source path windows server 2012 .net framework 3.5

Now you should see this under your Features list:

.NET Framework 3.5 feature installed on Windows Server 2012


216 Responses

  1. thx, it`s realy works.

  2. Thanks for the post. Pretty crazy this made it past QA… you’d think installing .NET 3.5 would be a pretty key thing to test 🙂

  3. Yes, amazing indeed 🙂

  4. Thomas JODET

    Impressive, i was just turning around and i found you, great
    Thanks a lot

  5. Great!!

  6. Karl Dunkerley

    Just used this to install SQL2012 on a Windows Server 2012 virtual box. It worked fine so thanks for the advice. Am going to use it to create a Sharepoint 2013 farm.

    BTW I set up another test box and used the option that appears at the bottom of the same window as the error message (shown in yellow above) and this installed the feature very quickly. Am going to do this to all my servers as a precautionary measure.

  7. Thank you, i actually used ps with Install-WindowsFeature NET-Framework-Core –Source D:\Sources\sxs, thanks for the tip.

    My issue was then installing SQL server 2008r2 onto the server 2012 box, all default options, it failed to install, is there anything else i need to be aware of?

  8. Cool, thanks for the info 🙂

  9. What error are you receiving?

  10. I tried the recommended solution, but I get the error 0x800f081f. I tried to copy the entire folder on the local disk and change path same problem

  11. Anthony Gachango

    That worked like charm..There should be a patch for this

  12. Benjamin Tran

    Hey Zero,

    I was running into the samething you were. I mounted the OS installation ISO and ran the command it and ended up running succcessfully. Hope that helps.

  13. That was also how I did 🙂

  14. Umberto Vecchi

    wow, thanks for your suggestions! regards

  15. This was very helpful, and I appreciate you documenting this.

  16. Lambomania

    That was Brilliant. Thanks Daniel!

  17. No problem, I appreciate your comment!

  18. Marvin Kuers

    Worked like a charm to install .NET Framework 3.5 on my server. Thanks for the simple fix!

  19. No worries, glad I could help!

  20. Thanks a lot…. most helpfull

  21. Nice blog most helpfull

  22. .NET 3.5 sources are on the CD/.iso of Windows Server 2012 in
    :\sources\sxs (as you mentionned).

    But When adding up the .NET 3.5 feature via Server Manager on your Windows Server 2012, when on the “Confirm installation selections” screen, there is a link at the bottom named “Specify an alternate source path” where you give the path I wrote above. Clicking install will work add .NET 3.5 flaslessly.

  23. Thanks for the extra information!

  24. I just re-read what I’ve typed late last night… didn’t know the path would come out distorted like that. The ‘backslashes’ were interpretted it seems (is your site protected from injections?).

    Also, sorry for the typos… it was REALLY late for me! 🙂

  25. Thanks, It really help

  26. Vincent

    Thanks for sharing… Appreciate… great job ! =)

  27. Thanks, its really helpfull

  28. David Massiha

    I did many times like you mentioned above with no result it is giving me this error Error:0x800f0906. Any help please

  29. arturo

    thank’s man

  30. gr8 is working 🙂

  31. Amit Sharma

    Great Its working.

    Thanks for Saving our times.


  32. Stanton


  33. “Error 87” is what i get while pushing the command ahead in the cmd.I am still guessing what to do next,probably the feature “NEWTECH”was the thing I need to know how to get in the cmd.I need a assistance in this,Is there any one who can help out…………………

  34. Thank you! You saved me from pulling out my hair. 🙂

  35. gabriel

    and without de instalatión CD? for a windows azure 2012 server?

  36. gaurav

    thanks very useful

  37. pascal

    if the above method does not work for you. Use add feature via server manager tick to install .net35 framework and on the next page specify the sources\sxs\path which should be you iso dvd. this should work.

    Many thanks

  38. vasant mane

    thnks a lot dear,

  39. snydaman

    Fantastic! Works like a charm. Thank you!!!

  40. Imtyaz

    Thanx for sharing it

  41. Much Thanks. It works!

  42. Rennie

    Thank you very much.

  43. Bunnaks

    This command works perfect:
    dism /online /enable-feature /featurename:NetFX3 /all /Source:D:\sources\sxs /LimitAccess

    Thanks so much

  44. It works like a charm!
    Thank you very much 🙂

  45. Justin

    What you’re missing is the bottom of that screenshot that allows you to select alternate paths. which is really all you’re doing via the cmdline specifying the CD as the location. so its not a bug, its just poorly designed UI. And perhaps its stupid that they force you to use the CD to get it installed.

  46. binodvk

    Thanks heaps! really helped

  47. The solution you gave worked perfect.
    dism /online /enable-feature /featurename:NetFX3 /all /Source:d:\sources\sxs /LimitAccess

    I could not install the .NET 3.5 from the Server Manager on 2012 server. I was about to give up then, I googled a fix for the last time and I found your solution. A M A Z I N G… Thanks!

  48. Ashraful Hoda

    Thanks it was very simple , it worked for me

  49. 🙂 The believe only the first step is necessary. Thanks for this blog post. I have linked it here:

  50. Yeah, it’s enough! 🙂 thanks for linking!

  51. Thanks it was very simple , it worked for me

  52. Yeah, it’s enough! 🙂 thanks for linking!

  53. Thanks its really very helpful link

  54. Thanks so much! You have just saved me a whole lot of pain.

  55. This is really helpful and solved the issue. Thank you.

  56. Got a 0x800f081f error with D:\ mapped and all. What a cluster fuck of an install this is. On the RC I could live with it, not after paying 2000 euros for a license. This will not do. Not to mention no WSUS support unless that’s installed on Windows 2012 too, which you need .net 3.5 for. I don’t even.. Windows 2012 looks more and more like an open source project, what are they doing?

  57. Pål Elnan

    Thanks, it worked brilliantly.

    @Rick, are you sure your ISO mounted on D:\? With me, it mounted on E:\.

  58. Thanks!! 🙂

  59. mnordesigner

    very Thanks

  60. Thanks,You have just saved me a whole lot of pain.

  61. Mostafa Khairy

    This is brilliant. Many thanks.
    You saved me from getting mad 😉

  62. Thanks very powerful,

  63. Is it possible that framework 3.5 cannot be installed on evaluation licence of WS2012 datacenter? I’ve tried this method after I’ve tried several times adding a feature. I even tried to run installer directly but result is the same….failed to install.
    Any thoughts would be appreciated.

  64. Maneesh Walia

    Excellent Buddy….. Thank u so much 🙂 🙂 🙂

  65. Great. Works. Cheers.

  66. Marc Pennings

    Great stuff, thanks!

  67. Jim Sperry

    After downloading dotnetfx35, and trying every which way to get it to install (because this the way we did it in class)just using the 2012 windows install ISO was so easy. I guess since it will not install from add / remove features in Srv Mgr I just thought it was not in the 2012 windows package. Why include it but in the install medium, have a check box for it in add features and then not let it work. It’s Sooooooooooooooooo Microsoft.

  68. Stupid Microsoft. Why can they not leave it as it was in server 2008 R2. There it was working fine. Now you need to go change the location of where to find the files. How dumb!!!

    Thank you Daniel for taking the time and posting on this problem and the solution.


  69. Omid Navid

    Thanks my man, i was a beginner at windows server, it really helped me alot

  70. hi.. admin thanks a lot man….

  71. Juan de Dios

    Thanks a lot, it worked for me Win 2012 R2.
    Many thanks from Honduras.

  72. very very good

  73. kazem ganji

    it was very helpful.
    thank you for everything

  74. Ammar Ali

    Thanks Man, That’s so helpful.
    I can’t understand why Microsoft going on updating the .net framework and then ask you to install the old releases??
    as Jim Sperry says “It’s Sooooooooooooooooo Microsoft”.

  75. Jean-Pierre Fouche

    Agree with Peter (October 12, 2013 at 20:06). I cannot get it to install on the Evaluation Edition.

  76. many many thanks mr daniel classon for the tutorial you post.. it helps me a lot

  77. Thanks Man, That’s so helpful.

  78. ElmoVanKielmo

    I have manually downloaded .NET Framework 3.5 installer from Microsoft website and on “Specify an alternate source path” form I’ve entered the path of my Downloads folder. Feature has been installed without error. It seems that it’s exactly the same installer as on Windows setup DVD. Your solution doesn’t require manual download but mine can be useful because sometimes the server is far away from your workstation and using DVD is not very handy.

  79. Great stuff, thanks!

  80. This worked perfectly! Thanks for your Help.

  81. This worked great! Thanks

  82. its sioseeee o ni post nice sharing that’s great

  83. Bravoo……….. thanks its working


  84. Thanks It worked for me too. But I dont undyerstand why MS had to do this. its abit tiring

  85. Bravoo……….. thanks its working

  86. Lescajul

    Worked for me as well. Thanks!

  87. Sudhir Brahma

    Thanks this helped me!
    God Bless!

  88. Supremo

    There are about 100 tutorials exactly like this one describing what to do if you have the disk, but not a single one describing what to do if you dont have the disk! Installing .net 3.5 on windows 8 without disk is not possible?? No this is not a pirated version, it’s legit but on a remote machine and running a virtual image. I cannot “insert disk”!!!!
    Please a tutorial on how to do this _without_ the frigging disk.

  89. Daniel McD

    Thanks for the article Daniel, worked a treat, though in my environment once I actioned the “dism” command .net 3.5 was then installed. No need to “choose” source.

    I manage a virtual environment, you’ll probably want to find a way to Mount an ISO of the disk and perform the same operation as above.

  90. Worked for me as well. Thank You

  91. There’s no need to use UpperCase. In my (albeit limited) experience with powershell all commands can be entered as lowercase. But I realize that it makes the commands more readable.

  92. Some one

    Didn’t work for me. It failed and complained about non-matching verification information.

    However one in PowerShell DID WORK:
    Install-WindowsFeature NET-Framework-Core

    It was the only solution that worked on my 2012 R2 Standard evaluation.

  93. You are right, there is no need to use upper case, it will work with lower case as well. It’s just general best practice to use it, for easier readability 🙂

  94. Great Article, Worked like a Charm. Thanks for posting it.

  95. With PowerShell :
    Install-WindowsFeature has a parameter by the name -Source where you can specify the path to alternate WinSxS directory on a mounted image, network path etc.

    Install-WindowsFeature NET-Framework-Core -Source D:\source\sxs

    The above will work too

  96. Kharad Variyava

    Hi Daniel, helpful article, but didn’t work for me though 🙁

    I tried the Step 2 first about 10 odd times, but was unsuccessful. Then I used Step 1, but it got stuck at 65.9% for something like 10 odd minutes, then moves onto 66.2% where it exits with error code: 14028. A component’s file does not match the verification information present in the component manifest.

  97. Thanks very much, it worked very well for me

  98. Thanks it was very simple , it worked for me.

  99. Kevin

    Of course, since the files are on the CD/ISO anyway, do not know why the feature installation cannot find them on its own. . .

  100. Thanks it was very simple , it worked for me

  101. Thanks it was very simple , it worked for me

  102. Great Article, Worked like a Charm. Thanks for posting it.

  103. Good article! .NET Framework 4.5 is installed by default in Windows Server 2012, it should not be removed! if you remove your NET Framework 4.5 for Windows Server 2012 you can excpect some problems, this is the solution.

  104. Worked for me! Many thanks indeed for a great article.

  105. Brian Whitaker

    Thanks very much for putting this together.

  106. behruz

    It was so good, thanks

  107. cheng

    thank u so much. =)

  108. SQLJarHead

    Awesome! Thankyou very much worked like a charm.

  109. mdsajid

    Thanks a TON.. it worked. Great help!!

  110. Luan Moreno

    Congratulations for the excellent post. Keep that way.

  111. It is important to understand why you get this message as this will help you choose what to do next.
    1. If your machine is connected to the Internet, you can continue with the installation and the “Add Roles and Features” wizard will download the required binaries from the Internet. There is a logic behind this, as you get an updated version of the binaries.
    2. We are talking about 200MB of data. If you have a slow connection and the latest .Net 3.5 SP downloaded, the method suggested by Daniel is a very good choice.
    3. The installation fails, and the only way to install .Net 3.5 is the Daniel’s method when:
    – There is no Internet connection
    – There is a Proxy which blocks the connection to the download site
    – The Download location is not available – down for maintenance or update

    And yes, if you wonder why the installation of .Net 3.5 takes so long – you are downloading the 200MB binaries before they are installed

  112. morteza

    hello when i run the command see this error

    Error: 0x800f081f

    The source files could not be found.
    Use the “Source” option to specify the location of the files th
    o restore the feature. For more information on specifying a sou

    The DISM log file can be found at C:\Windows\Logs\DISM\dism.log

  113. Pat Reffner

    I had best results referencing the server location where the SHARED .ISO/.WIM file resided via the FQDN of the server rather than NetBIOS as this may imply to others..

  114. Erik Larsen

    We tried everything and no go, but by some coincidence I found out that if the server is not in a domain (just a workgroup), the server installs the dotnet3.5 without any problem and fixes 🙂

  115. Did not work for me until I removed my windows update GPO

  116. Many thanks for the info.

  117. Quincy Toyo

    I tried it, the message I get is: ‘dism’ is not recognized as an internal or external command, operable program or batch file.

  118. Matthew W.

    It’s worth noting that the two methods use different authentication to the source media files when accessed remotely. For a locally attached disk or SXS copied locally, the two methods are roughly equivalent.

    In the remote case:
    Using dism.exe will access the files under your user credentials.
    Using the wizard or install-windowsfeature cmdlet will access the source files under the machine$ account. This is similar to how hyper-V, for example, accesses VHDs on a remote shared storage.

    Thanks for a great article.

    — Microsoft Windows Server Deployment team.

  119. Mark Harby

    Nice one Daniel
    Worked a treat, thank you.

  120. Thanks it was very simple , it worked for me

  121. super.developer

    didn’t worked
    I received this error
    Enabling feature(s)
    [===========================66.5%====== ]

    Error: 0x800f0906

    The source files could not be downloaded.
    Use the “source” option to specify the location of the files tha
    ion on specifying a source location, see

    The DISM log file can be found at C:\Windows\Logs\DISM\dism.log

  122. Giuseppe Russo

    Good Morning,
    i have the same problem of the user Mike Lefebvre. I’m in workgroup. I tried all possible ways also changing a registry key. The source file are copied in the local disk and i’m able to read and write in this folder. Any another solutions?

  123. Remove update Security Update 2966827 and it will install just fine.Then reinstall the update.

  124. Stan Hecht

    The command line version worked for me, not the GUI. I had to burn a DVD and attach it to the virtual server before Install would find the files. Then NetFX3 installed. Strange that the GUI doesn’t let you browse to the alternate file location. THANK YOU for the solution!!!

  125. Bojan Kos

    Had this problem on server 2012. Solution was to uninstall some Microsoft updates.
    Credits go to:

  126. Kevin Dunne

    The reason the install had failed in my setup was because WSUS was enabled on my servers. Once i disabled WSUS on my servers by deleting the keys in the registry all worked perfect.

  127. Hi people,

    I don’t have a installation CD but and ISO file of win server 2012. I copied this file to my desktop. When adding dotnet3.5 feature and need to specify path, I used the path c:\users\administrator\desktop\. Didn’t work for me. Been trying out many things a few days… Appreciate any help. Many thanks.


  128. David Eaton

    Thanks Shaun, “Remove update Security Update 2966827 and it will install just fine.Then reinstall the update.” Worked for me!

  129. For me too! Thanks David !

    “David Eaton says:
    September 24, 2014 at 11:29
    Thanks Shaun, “Remove update Security Update 2966827 and it will install just fine.Then reinstall the update.” Worked for me!”

  130. The solution of Kevin Dunne does it for me!
    Thanks Kevin!

  131. Alican Kaylan

    Removing security update 2966827 worked for me as well. Many thanks 🙂

  132. Great it works!

  133. Had to uninstall KB2966828

    Note, the last number is 8 not 7

  134. Great thanks Shawn!!!!!!!!!!!
    Removing security update 2966827 all work fine!!!

  135. Removing KB2966828 worked for me, thank you.

  136. Had to remove the same KB. I wish I looked at the comments an hour ago though!! Thanks!

  137. Thankyou

    @Martin, Removing KB2966828 worked for me as well, thank you very much.

  138. WIN2012 User

    @Eddie – Had to uninstall KB2966828

    Note, the last number is 8 not 7

    —This worked for me – thank you!

  139. What I find most people miss is that the INSTALL button is available. Most people see the warning and then see the NEXT button disabled and go looking for an answer. @NetoMeter points out the options (e.g. you have no or really slow Internet connection).

    If you see this warning and have a half-way decent connection, just click Install and it will download what is required and install it for you.

  140. Thanks for the article, managed to get our old Sage Accounts working on our new RDS server 2012 r2.


  141. rdefulio

    Its pretty annoying that the Server Manager/Add Features applet can’t go fetch the files it needs directly from the internet these days. You have to have DVD around, seriously? I understand leaving out optional components but this is just a bunch of makework. In a secure environment with no internet access, OK, I understand needing the DVD. It’s little things like this that drive us nuts.

    Thanks for the instructions, though!

  142. Alessandro Marques

    I removed KB2966826, KB2966827, KB2966828 and it worked for me.


  143. Thanks for the article. I tried it. It’s work. 🙂

  144. Worked for me as well. Thanks! 🙂

  145. Hello Guys,

    1. thx for this post!
    2. The path to the sxs folder is in your Windows Installation Disk.
    3. For those who want read this in German, here is a link:

    Thy 🙂

  146. Rajendra M.E

    Thanks a lot. Its working !! 🙂

  147. Thanks it was very simple , it worked for me

  148. Thanks ……..

  149. thenk’s a lot works great!

  150. Thanks a lot. It helped me to install the .net 3.5

  151. Tokyo Dude

    This is not working. – guy from Tokyo

  152. Hei!

    Thanks for this advice. It helped me a lot.

    Regards, Mika

  153. Fuller Ming

    Is there a way to simply get the 3.5 image and designate it as the source?

  154. Thank you for the instructions

  155. Great, its working and saved my lot of time.

    Zaheer Khan

  156. Abdul Walele This will give you a step by step process to resolve this issue.


  157. Awesome. Worked for me. New install of a Server 2012 R2 instance for a VM on Stratus everRun. Not sure why it didn’t take on this install as it has worked before on other builds but, this one was not taking it until this work-around. Thanks again.


  158. Jacques Lafalize

    Thanks for this Help.

    But, we had removed the server from the domain before that procedure running correctly

  159. Very relevant and to the point. I did not need to go back and specify the path after following these instructions as the feature was added. Thank you so much for this fix.

  160. This is information is the best … thank you ..

  161. the solution only work if connected to internet access

  162. Good article … Thanks it saved my time to troubleshoot…

  163. perfect. it is work corectly for me.
    Thank for your article.

  164. For 2 days , I tried every thing , even downloaded it from Microsoft , nothing had worked, your method worked so beautifully , thanks a lot , your are a champion

  165. Cumbrian Man

    Many thanks Daniel. I had similar experience as Sam (March 15th) where nothing worked, even an offline installer. Tried your command line version and this worked a treat. Many hours of head scratching saved !!
    Cheers, Alan.

  166. Important!!! during the net 3.5 Installation the Server try to connect to Windows update Server. But if u put Server already into WSUS/OU where WSUS is configured by GPO: Server can not connect to Windows update Server anymore. you will get error message anyway. Solution: put Server to an OU where WSUS is not configured. make gpupdate /force or reboot afterwards. Now Server is aible to get latest net 3.5 files from Internet and Features install will walk through properly

  167. @Jacques Lafalize – by the way. of course you will get same result if u remove Server from Domain. 😉 But it is not neccessary

  168. Worked for me.

  169. Brian Love

    Thank you soooo much!
    This saved not only my mind but truly made me look like a hero!!!

    This really made my day.

  170. Awesome, thanx! This is what I needed to get 3.5 installed.

  171. Hamish

    Brilliant – thanks!. We had an .iso of Server 2012 Open Licence which had worked before on many VM installs but failed on one machine. The tip to put d:\sources\sxs as an alternative source in the GUI resolved it.

  172. Muhammad Shahid

    Thanks a lot.This is what I needed to get 3.5 installed.

  173. Thanks a lot, it worked fine for me.

  174. Thank you, only solution that worked for me.

  175. rookie

    thank you very mush

  176. bradd

    Nice Find! Big help for me!

  177. Thanks alot it worked fine.

  178. Thanks so much. saved me a lot of time!

  179. Medinus

    I´m not able locate my Windows Installation Disc. Is there a workaround for this?

  180. Shubha

    Thanks a lot… this really works!!! 🙂

    Just want to add one thing:- if you are not connected to Windows update Server, mount OS installation DVD, and specify the same drive in the path mentioned.

  181. Kevin Frey

    Thanks very much for this – exactly right.

  182. Thanks! Really helpful. 🙂

  183. thanks, Great Article, Worked like a Charm. Thanks for posting it.

  184. thanks ,, Thanks a lot.This is what I needed to get 3.5 installed.

  185. Mike Ventham

    Rather than remove the server from the domain to get it to talk to Windows Update. just change the HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\UseWUServer to 0, restart the Windows Update service and then try to install it. After installation, change the key back to 1 and restart Windows Update service again.

  186. Andre Fortunato

    Thanks bro, it’s help me a lot!!

  187. thanks u’re amazing

  188. Rather than remove the server from the domain to get it to talk to Windows Update. just change the HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\UseWUServer to 0, restart the Windows Update service and then try to install it. After installation, change the key back to 1 and restart Windows Update service again.

    Thanks! that worked!

  189. Amazing, much better then solution on TechNet. Thanks!!!!

  190. Love it! Easy & Fast. 5 stars for Daniel! 😉

  191. Vishal Garg

    Thanks you so much ! it is working for me

  192. Tammy Sanders

    You Rock! Thanks for the help!

  193. Thanks. I am not a Windows guy but occasionally have to install Windows applications. Your blog fixed my issue quickly and effectively. I really appreciate the trouble you took to publish this.

  194. Disabling your firewall solve this issues

  195. Thank you! This initially failed but I tried again, this time capitalizing the D: for the path to opt drive and it worked. (don’t know why that mattered). This works on Server 2016 preview as well.

  196. Really helpful article:) thanks

  197. John James

    Awesome!!! I could not get this to work on my own, thanks for your help!!!

  198. Thanks you so much ! it work

  199. Michael S

    A damn American HERO. At least I think he’s MERICAN.

  200. Rajesh Kumar

    Thank you, it worked for me

  201. Francisco

    It works. Thanks a lot

  202. soltan

    good your job very tank you . I am from iran my name is soltan.

  203. You are great you made my day.

  204. Kaleb

    You are a God, thank you so much!

  205. brilliant from you sharing your solution with us. so nice.

    big shit again from MS. in the days of automation

  206. James Liang

    very useful. Thanks!!

  207. Thank you it works for me too.

  208. Thanks it worked for me.

  209. Dnyanesh

    Thanks it worked

  210. kartik

    It works perfectly.thanks

  211. Eswararao

    It works perfectly.thanks

  212. IT Contractor

    Excellent – thank you. All working now.

  213. Indeed good solution to this problem

  214. mohamed hosny

    i swear i search about this solution two days
    thanks alot of

  215. Thank you for your solution, much relieved!

Leave a Reply