As classes WMI do instalador ( Win32_Product
, Win32_SoftwareFeature
e Win32_SoftwareElement
) não fornecem essas informações: não há exigência de que haja um único local em qualquer um desses níveis. Portanto, algo específico da aplicação é necessário.
Parece que
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server0
contém VerSpecificRootDir
com a pasta base. E parece que substituir o 100
pelo número correto (ou seja, a versão dez do SQL Server) funcionará nas versões.