Obter lista de software instalado usando C #
Eu tento obter uma lista de chaves de aplicativos instaladas:
RegistryKey RegKeyUninstallList = Registry.LocalMachine;
string strUninstallList = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
string[] test = RegKeyUninstallList.OpenSubKey(strUninstallList).GetSubKeyNames();
Recebo apenas as chaves de:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ Desinstalar
Mas também preciso das chaves de:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Desinstalar
Meu programa deve ser capaz de executar em um64Bit
e em um32Bit
máquina.
edit: Ok, eu tenteiVerifique se o aplicativo está instalado no registro e a solução de tHiNk_OuT_oF_bOx.
Mas nada resolveu o problema!
O problema é que recebo exatamente a mesma lista para teste e teste2:
RegistryKey RegKeyUninstallList = Registry.LocalMachine;
string strUninstallList = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
string strUninstallList2 = @"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall";
string[] test = RegKeyUninstallList.OpenSubKey(strUninstallList).GetSubKeyNames();
string[] test2 = RegKeyUninstallList.OpenSubKey(strUninstallList2).GetSubKeyNames();