SQL 2008 Install Blocked on Express Tools but actually due to SQL Prompt
Having successfully installed SQL 2008 on my laptop I was looking forward to a smooth install on my main PC however it was not to be. Having gotten pretty much to the end of setup it failed on the SQL 2005 Express Tools rule. Now I know I've never installed SSMS Express on this PC so I went digging through the logs. Once of the nice features of setup is an html log showing the results of all the checks carried out. In this case it merely confirmed that setup thought I had the Express Tools installed as shown below
After digging through the log files I came across one called Detail.txt which has details of the rules being run by setup. As can be seen from the log below, it was checking for the presence of the SQL Express Tools by querying the registry key SOFTWARE\Microsoft\Microsoft SQL Server\90\Tools\ShellSEM
Slp: Initializing rule : SQL Server 2005 Express tools
Slp: Rule applied features : SSMS;Adv_SSMS
Slp: Rule is will be executed : True
Slp: Init rule target object: Microsoft.SqlServer.Configuration.SetupExtension.Sql2005SsmsExpressFacet
Slp: Sco: Attempting to create base registry key HKEY_LOCAL_MACHINE, machine
Slp: Sco: Attempting to open registry subkey
Slp: Sco: Attempting to open registry subkey SOFTWARE\Microsoft\Microsoft SQL Server\90\Tools\ShellSEM
Slp: Rule 'Sql2005SsmsExpressFacet' detection result: SQL 2005 Ssms EE installed=True
Slp: Evaluating rule : Sql2005SsmsExpressFacet
Slp: Rule evaluation done : Failed
Slp: Rule evaluation message: The SQL Server 2005 Express Tools are installed. To continue, remove the SQL Server 2005 Express Tools.
Checking the registry I find that the key does indeed exist and in fact was added by the install of Redgate SQL Prompt 3.5 as shown below
Uninstalling SQL Prompt allowed the SQL 2008 installation to complete successfully (another option would probably have been to export the ShellSEM key, delete it, install SQL 2008 and then restore it).
So the lesson is, if you are getting tripped up by the Express Tools check and are sure you've never installed them, check the registry to see if some SSMS addin has added the key that setup is checking for.
Update Please note that this issue is only caused by older versions of SQL Prompt. If you have upgraded to SQL Prompt 3.9 you won't be affected by this issue. This is a free upgrade for users of SQL Prompt 3.x and is available from Redgate here with full support for SQL 2008