Friday, March 16, 2012

Unable to Enable the .NET Framework 3.5 Feature in Windows 8

So here was an interesting problem from today...

My new work laptop finally arrived and I decided to install the Windows 8 Consumer Preview. After I joined the PC to the domain, I made sure I had administrative rights to the laptop and started to install the applications I use on a regular basis. One of my applications required .NET Framework 3.5 to be installed on the computer before installing. A nice feature of Windows 8 is that if you attempt to install a program that requires .NET 3.5, a nice Windows prompt will appear telling you to enable the feature. I attempted to enable it, but I received an error.
Why is .NET Framework 3.5 enabled by default in Windows 8?

According to Microsoft's support team, .NET Framework 3.5 is now a part of "Feature on Demand" in Windows and is not enabled by default because the newer .NET 4.5 Framework feature is enabled instead. Framework v4.5 supports Metro Apps, not v3.5. In order to correct the problem with software installs I just need to enable .NET 3.5. Normally, as long as the Windows 8 computer is connected to the Internet Windows will automatically download the files from Windows Update. But the download failed then displayed an error. Why was this happening? Because the computer is joined to the domain, and group policies are forcing the computer to check in with Windows Server Update Services (WSUS) for Windows Updates. That means a problem for me.

Luckily, there are two ways to fixing this issue: One, force install the .NET Framework 3.5 feature for Windows 8 from the DVD Media source. And option 2, Use the DISM tool to import the .NET Framework 3.5 feature from the DVD media source then manually enable the feature from "Turn Features On or Off".

Option #1 - Force install the .NET Framework 3.5 feature for Windows 8 from the DVD Media source.
To do this, insert the Windows 8 DVD source into the computer then execute the following command from and elevated command prompt:
Add-WindowsFeature –name NET-Framework-Core –source <DriveLetter>:\sources\sxs


Option #2 - Use the DISM tool to import the .NET Framework 3.5 feature from the DVD media source then manually enable the feature from "Turn Features On or Off". To do this, insert the Windows 8 DVD source into the computer and execute the following command from an elevated command prompt:
Dism.exe /online /enable-feature /featurename:NetFX3 /All /Source:<DriveLetter>:\sources\sxs /LimitAccess.
Now, open Programs and Features from the Control Panel and choose "Turn Features On or Off" on the left pane. Place a check mark next to the .NET Framework 3.5 options and click OK. Windows will now enable the feature.

The first option will fix the problem faster but if you like to perform the manual tasks and learn the internal workings of Windows go with Option #2. No matter which course you choose, each option does the same thing.

Here are two links that talk about this issue
http://social.technet.microsoft.com/Forums/en-US/winserver8gen/thread/6f4244af-76bb-46d7-9a5c-dce60565e49f
http://social.technet.microsoft.com/Forums/en-US/w8itproinstall/thread/f4217b5c-4341-4c6a-99be-46a178b34132

UPDATE (2012-05-14): See this blog entry for more details - http://blogs.technet.com/b/askcore/archive/2012/05/14/windows-8-and-net-framework-3-5.aspx