Huh? This is not meant to be a brain teaser. The purpose of this post is to help you avoid problems with SQL Server 2008 setup before you run..well setup. Why not take advantage of known fixes we have for setup to avoid the problem in the first place? This would include a new installation, upgrade, or a install of a new instance or feature.
In this blog post, I’ll give you details on how this works and point you to resources for known setup fixes that might affect you.
So let’s say you are going to install SQL Server 2008 for the first time. You would like to avoid known setup problems that are already fixed.
1. Go to the article for SQL Server 2008 Cumulative Update 1 (CU1). Later in this post, I’ll talk about our plans to provide a known KB article which you can always use to find the latest set of fixes for setup.
2. Download the hotfix package just as though you are going to install a cumulative update package. See this blog post for more information about the process to download fixes from KB articles.
3. Install Windows Installer 4.5 if it is not already installed on your machine. How do you know if it is already installed? Unfortunately, Windows Installer is does not show up as separate application. It is a Windows Update so you will need to look for installed Windows Updates on your machine. It should be something like "Update for Microsoft Windows (KB942288)"
Even though the standard setup for SQL Server will install Windows Installer 4.5 for you if it detects it is not installed, our cumulative update packages requires it be installed already because it uses this version of the installer when it is launched.
If you don’t having Windows Installer 4.5 and run the hotfix package we will detect this and let you know about:
Another pre-requisite for SQL Server 2008 setup is the .Net Framework 3.5 SP1 (See the following blog post for more information on this). Technically, the bare minimum for this process is to have .Net 2.0 SP2 installed but there is no .Net 2.0 SP2 to download from the web. Therefore, if you install .Net 3.5 SP1, you will have the necessary .Net software. The only exception to this is Itanium platforms where there is no .Net 3.5 SP1. for Itanium customers, you need to install .Net 2.0 SP2 from the DVD or SQL Server 2008 source media (you can find this in the ia64\redist\2.0 folder from SQL Server 2008 media source).
4. Now you are ready to run the hotfix package. Simply execute the package (for CU1 on x64 the name of the package is called SQLServer2008-KB956717-x64.exe). When you run this package, you are immediately shown a License screen (notice there are no setup rules check here as with the normal CU1 package install).
Hit Next and you now get a screen similar to the setup from the DVD to install the SQL Support Files:
Select Install and you get a Progress Bar on this screen.
When this is done, a dialog box will appear and then disappear fairly quickly. It is very possible you will not see this.
Unfortunately there is no "Success" screen for you to acknowledge like there is for the standard or CU setup.
The simple way to see that this has worked is to look at Add/Remove Programs (prior to Vista/Windows Server 2008) or Programs and Features applet (Vista or Windows Server 2008).
You should now see Microsoft SQL Server 2008 Setup Support Files installed with a new version (RTM is 10.0.1600.22 and CU1 is 10.0.1763.0)
Now go and install SQL Server from the DVD. When it runs, it will see that SQL Server 2008 Setup Support Files is already installed and use that local version. Therefore, any fix we have created that is part of SQL Server 2008 Setup Support will be used when you install the normal setup.
When you are finished, you might also want to apply CU1 to your installation. Simply run the CU1 package again and you will be prompted through the full CU1 installation. See this blog post for more information of what this experience looks like.
The update to SQL Setup Support Files also allows you to take advantage of fixes that affect installation of new instances or addition of new features.
What are the Possibilities?
Let’s take a look at an example. If you look at CU1, you will notice a setup issue described as:
|50003401||957453||FIX: When you install SQL Server 2008, the installation fails, and the "Attributes do not match" error message is logged in the Summary.txt file|
This problem is a bit on the edge as it only occurs if you have the Archive bit set for a folder that is part of the destination where you are installing SQL Server (the "installation folder"). Let’s say you decide to install a particular instance into a directory called c:\sql2008. If you had the archive bit set for c:\sql2008 before you installed, you would encounter the following error during setup if you performed an unattended installation as seen in the following console window where you ran setup (if you install through the GUI you actually hit a validation warning as you go through the setup screens):
So if you hit this error, but perhaps could not find out the reason why or for some reason needed this bit to remain set, you could uninstall SQL Server 2008 (The Summary.txt file actually instructs you to do this when you encounter the failure). Then follow the instructions above to apply CU1 which installs the updated SQL Server 2008 Setup Support Files.
Please note that in this situation when you uninstall the product, we don’t uninstall the SQL Server 2008 Setup Support Files, so when you go to apply CU1 to just update this component, you will see a few extra screens you do not get when applying CU1 when no SQL Server 2008 software is installed (here is an example of one of them). Just proceed through these until you get a final Success screen.
Now when you go back and run setup again even with the archive bit set, setup will not fail and succeed with the installation.
This capability also allows us to create new setup rules that help you see possible problems with your configuration that can cause an installation failure.
A few interesting notes about this process:
1) Unfortunately, you have to download the entire CU package which can be almost 170Mb to use this process but the installation itself just takes a few minutes. I recommend you save the CU package because after you install SQL 2008 off your DVD or install point you will want to run the CU package again to install the full CU update to SQL Server.
2) You can right-click the program and select "Repair" but it prompts for the location for sqlsupport.msi. Selecting this option doesn’t make sense as there is no repair for SQL Server 2008 Setup Support Files.
3) If you have installed this once and try to install a CU1 package again without having installed setup from the DVD, you are led down a series of screens that make our CU1 package think the full product is installed.
4) This process only installs the SQL Server 2008 Setup Support Files. This is not the entire software required to run setup. Therefore, there are some setup problems that cannot be fixed using this method.
5) Just like the standard CU1 installation, you can run the hotfix package to just install the SQL Server 2008 Setup Support Files without responding to any screens. Use a syntax like the following:
<package name.exe> /QUIET
For example, for CU1, run this from a command prompt on x64:
you will see a console window pop-up but then exit without the need to respond to anything:
Like the CU1 full package installation, you can use the /INDICATEPROGRESS option, but it does dump out alot of output to the console.
6) You can also uninstall the SQL Server 2008 Setup Support Files by using Add/Remove Programs or Programs and Features. The only window you see when you do this is a dialog box like this:
What About the Future?
Because we have the ability to install the SQL Server 2008 Setup Support Files without the product being installed, we can continue to provide fixes in our Cumulative Updates (or even interim hotfix packages called On Demand Fixes) for the SQL Server 2008 Setup Support Files. Since our hotfix model is cumulative, each new Cumulative Update will contain the latest SQL Server 2008 Setup Support Files installation.
To help you always find the latest version of the SQL Setup Support Files, we are working on a KB article that we will maintain a running list of all fixes for setup. The "download" capability of our KB articles will be maintained so that if you download from this article, you always get the latest hotfix package so you get the latest SQL Setup Support fixes.
I will update this blog post in this section when this article is complete so you will have a pointer to always find it.