Comme vous l'indiquez :toutes les instances installées se trouvent dans :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL
En utilisant les valeurs de ces instances, vous pouvez accéder à :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\{INSTANCE DATA}\MSSQLServer\CurrentVersion
où {INSTANCE DATA} est les données des clés dans les premiers paramètres de registre.
Par exemple :J'ai un ordinateur contenant ces clés :
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL]
"MSSQLSERVER2008"="MSSQL10_50.MSSQLSERVER2008"
"SQLEXPRESS2008R2"="MSSQL10_50.SQLEXPRESS2008R2"
=> ce qui signifie qu'il y a 2 instances :la version peut être trouvée ici :
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER2008\MSSQLServer\CurrentVersion]
"CurrentVersion"="10.50.4000.0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS2008R2\MSSQLServer\CurrentVersion]
"CurrentVersion"="10.50.4000.0"