Installing SQL Server 2008 x64 on Windows 2008

Friday, July 10th, 2009

I’m just in the process of switching my Windows Server from a Windows 2003 Server on Fasthosts to a Windows 2008 x64 one on One and One, who are offering me a much better deal.  Anyway, I’ve been having some interesting problems installing SQL Server 2008 Express on it.  I mean, it didn’t help that I didn’t realise that the server was preinstalled with SQL Server 2005 Express, but it surely shouldn’t be that hard.  I’ll skip to the point where I had uninstalled 2005 and was trying a fresh install of 2008…

First of all, I tried the Microsoft Web Platform Installer, and it died with an error saying “The INSTANCESHAREDWOWDIR command line value was not specified”.  I thought that this would be easily fixable if I just ran the installer myself, so I tried that.  It seemed to be going fine until I got to the page where I needed to specify what features I wanted to install, and there were 2 textboxes to specify folders at the bottom – one for the x64 main folders and one for the x86 WoW components (that’s Windows on Windows – not any other WoW you might have been thinking of).  The problem was that the main one was disabled (greyed out) and was trying to install to the Program Files (x86) folder instead of the Program Files folder.  When I tried to go to the next page, I got the same error.

I found that if I changed the x86 path, it would let me continue, but I didn’t want the main folder being installed wrong, so I followed through the installer to the Ready To Install page and at the bottom of the page there is a configuration file path.  I copied the config file and edited it to change the paths and then used the command line to launch the process using /action=install /configurationfile=configfilepath /q .

This seemed to work, but I had made a mistake with the configuration file (wrong instance name) and couldn’t be bothered going through the whole procedure again, so I called setup with all the parameters on the commandline.  Microsoft have documentation on what they all are.  It took some experimentation, but I think I used something like

/action=install /q /indicateprogress /features=sqlengine /installshareddir=”c:\program files\microsoft sql server” /installsharedwowdir=”c:\program files (x86)\microsoft sql server” /instancename=MSSQLSERVER /securitymode=”sql” /SAPWD=sysadminpassword

… and that seemed to work.

I’m not sure what Microsoft are playing at with this installer though.  It took me a good few hours to work this out and with a number of different permutations I tried, it just dropped out with no error message!  Also, the error is wrong – it specifies INSTANCESHAREDWOWDIR, which isn’t a parameter.  They actually meant INSTALLSHAREDWOWDIR.