Windows Server 2012 ships with .NET 4.0 already installed. However SQL Server 2008-2012 requires .NET 3.5. Therefore, when you install SQL Server on Windows Server 2012 you must first install the .NET Framework 3.5.
"So Balls", you say, "What's the problem, just enable it?"
Ahh Dear Reader, Thank you for getting to the heart of the matter. The normal way that you do this is you add the Feature .NET 3.5 Framework to you're server. I've done this enough times that sometimes it works just fine. Other times, it blows up. If the GUI works for you then, keep using it. This blog is about what you need to do when it goes wrong.
HOW IT NORMALLY GOES
Everything is bright and sunny in this version. We will have no errors using the GUI whatsoever. We start off with going to the Server Manager Dashboard. Click the Manage button. Then Click Add Roles and Features.
Next we go to Server Selection. If you are installing this feature on a remote server you would select it here. If you install this locally then just click the Server Selection menu item and then click directly to the Features Menu option. The .NET 3.5 Framework is a feature not a role.
After that you check the box next to .NET 3.5 and click Next.
Click Install and away you go.
WHEN IT GOES WRONG
It was a Dark and stormy night as the DBA walked into the data center...
Actually it could be the middle of the day. Whenever it is you attempted to install .NET 3.5 and something went wrong.
Regardless of the time you get the following error.
"Installation of one or more roles, role services, or features failed. The source files could not be found. Try installing the roles, role services, or features again in a new Add Roles and Features Wizard session, and on the confirmation page of the wizard click "Specify an Alternative source path" to specify a valid location of the source files that are required for the installation. The location must be accessible by the computer account of the destination server."
The next option is to go back through the Wizard and specify the location for installation. I prefer to switch over to PowerShell. At this point I've attached my ISO as my D drive. So I'll just use the WindowsFeature cmdlet to do the install from my local media by typing: Install-WindowsFeature NET-Framework-Core -Source D:\Sources\SxS
Then after a minute or two:
Installed and ready to go install SQL Server.
"So Balls", you say, "Could you have just browsed to the same path using the Wizard?"
Great question Dear Reader! There is not a browse feature for the alternate path portion of the Wizard, but you could have manually entered D:\Sources\SxS and received the same result.
While the error screen had it all in the writing, when I first received this error I found a way to manually install from the Windows 2012 ISO Media and used it ever after. Personally I like using PowerShell as a preconfiguration option. It's easy to have a list of scripts and pull them out and run them each.
Alright Dear Reader, as always Thanks for stopping by.
Thanks,
Brad