Cuando el SQL Server 2008 R2 Management Studio Express te pide que actualices el Visual Studio 2008

En cierta ocasión tuve que instalar el SQL Server 2008 R2 Management Studio Express en el ordenador de un cliente. El sistema operativo era de 32 bit y estaba recién instalado. Sólo se habían instalado el servidor del SQL Server 2008 R2 Express y las características del SO que venían por defecto. No había ninguna versión del Visual Studio.

Durante el proceso de instalación del Management Studio, cuando se realizaba la acción Install_trin_aide_Cpu32_Action: CA_BlockOnVSSP0_x86, se mostró el siguiente mensaje de error:

Another version of Microsoft Visual Studio 2008 has been detected on this system that must be updated to SP1.  Please update all Visual Studio 2008 installations to SP1 level, by visiting Microsoft Update.

Esta es la típica situación en la que ocurre un error, inicialmente incomprensible, nos hace perder el tiempo que no teníamos previsto, nos crea un sentimiento de frustración enorme y bastantes dolores de cabeza. ¿Cómo voy a actualizar el Visual Studio 2008 si no lo tengo instalado?

Luego de verificar varias veces el estado del sistema y los programas instalados, dicidí acudir a nuestro viejo amigo Google. Tras varias búsquedas, encontré un hilo en los foros de Microsoft donde se hablaba de este error. Aunque se hablaba de un sistema de 64 bit, la solución sí estaba planteada.

Para resolver el problema se debe modificar el valor de varias claves del registro. En mi caso, con un sistema de 32 bit, las claves eran:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\VS\Servicing\9.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\VS\Servicing\9.0
\VSR\1033

Estas claves son ligeramente diferentes de las sugeridas en el  hilo. Donde allí dice VC, en mi caso era VS.

Por otra parte, tal como se comenta, si tienes un sistema de 64 bit debes modificar también las siguientes claves, relacionadas con el  subsistema de WoW64:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DevDiv
\VS\Servicing\9.0

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DevDiv
\VS\Servicing\9.0\VSR\1033

En todos los casos la idea consiste en modificar los valores de SP y SPIndex, que deben ser 1. También hay que actualizar el valor de SPName a SP1. En mi caso estaban a 0 y RTM.

Al parecer, durante la instalación del Management Studio se consultan esos valores. El truco está en engañar al instalador y hacerle creer que está instalada la versión del Visual Studio que él busca.

Enlaces de interés

SQL Server 2008 R2 Management Studio install fails telling me to install Visual Studio 2008 SP1!
http://social.msdn.microsoft.com/Forums/en-US/sqlsetupandupgrade/thread/baf09c3f-be97-4bc8-b6d7-bdeea2e3719e

SQL Server 2008 installation dependency problems with Visual Studio 2008 SP1
http://blogs.msdn.com/b/guil/archive/2008/12/14/sql-server-2008-installation-dependency-problems-with-visual-studio-2008-sp1.aspx