Recently I was working on a client project where one of the requirements was to install SQL Server with Advanced Services. This is nothing new for me. I have had to install SQL Server in lots of installations over the years and I’ve written several posts on how to do it. What was different this time was that it was the Advanced Services version.
If you go to the SQL Server 2008 Express R2 with Advanced Services download page on the Microsoft website, you will see that it lists these requirements to be installed first:
- Windows Installer 4.5
- .NET Framework 3.5 SP1
- Windows PowerShell 1.0 (for some versions of SQL)
No problem, right? I installed these first, then installed SQL Server, just like I had always done. However, on 90%+ of the systems my client installed on, everything worked fine. But on a few systems, the SQL installation would get most of the way through and fail. Why?
Generally, when a SQL installation fails somewhere during the process, it is because you are missing a prerequisite or the SQL Server command line options are incorrect. After lots of testing I found the problem.
If .NET Framework 3.5 is not installed on a system, but you have installed all the other requirements that I listed above, the SQL Server installation will still fail.
Here’s what it boils down to. On Windows 8, .NET 3.5 is not installed by default, so if you try to install SQL Server on one of these systems it will fail.
.NET 3.5 is installed on most all Windows 7 systems, but again, if it isn’t on the machine before you try to install SQL Server the normal way, it will fail.
You may be thinking, why not just add the .NET 3.5 prerequisite to your InstallShield installation? That will work on Windows 7 systems but not Windows 8.
There is some issue with Windows 8 where they want you to install .NET 3.5 through Windows Features. What I mean is you need to go to Programs and Features, click Add or Remove Windows Features and then select .NET Framework 3.5.
If you try to install .NET 3.5 with an InstallShield installation on Windows 8, Windows will bring up a dialog asking if you want to download the files. This is even if you’ve included the files in your installation. Now, I have not found a way to get this to work successfully. So at this time, your only alternative is to require that .NET 3.5 is already installed on Windows 8 systems before your installation is run.
Just be aware of this issue.