Wednesday, February 19, 2014

Windows 2012 for the SQL DBA: .NET 3.5 Fails to Install

Hello Dear Reader!  I know it has been a while since last we spoke.  Sorry for the long absence.  I've been working on a lot of things that you will see coming here in the weeks and months ahead.  But first I wanted to write a blog on a subject that I've hit multiple times.

 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

3 comments:

  1. -This worked before-... but something has happened Sept/Oct 2014 with a new server install... Where this step is failing.. Seems There's been another Microsoft drive-by where there's something else some new hurdle to jump through...

    At line:1 char:1
    + Install-WindowsFeature NET-Framework-Core -Source D:\Sources\SxS
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (@{Vhd=; Credent...Name=localhost}:PSObject) [Install-WindowsFeature],
    Exception
    + FullyQualifiedErrorId : DISMAPI_Error__Cbs_Download_Failure,Microsoft.Windows.ServerManager.Commands.AddWindowsFeatureCommand

    ReplyDelete
  2. Ok.. After some digging.... I'm answering my own comment....

    http://support2.microsoft.com/kb/2734782

    Method 2 worked...

    I used Group Policy and set the options to be enabled, set the D:\sources\sxs (cd-rom) [published in VMWare ISO location]

    I also clicked download from WSUS....

    I then Went to Add roles & features, clicked .NET 3.5 choose the d:\sources\sxs alt location clicked install..

    I watched on my router traffic monitor the server download from Microsoft... and the installation was successful

    Every thing else was fail fail including the CMD and powershell tricks.

    ReplyDelete
  3. Thanks Ken! I've done this recently. I'll go download a new image and see if I can get this to replicate. Really appreciate you listing your steps!

    ReplyDelete