Как получить список установленных программ на х64 винде?

Рейтинг: 1Ответов: 1Опубликовано: 15.10.2014

При запросе типа

Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall");

все равно лезет в

Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall");

принципиально нужно достучаться до первого пути, ведь по обоим путям есть различия в содержимом. Заранее огромное спасибо)

Ответы

▲ 4Принят

Попробуйте вместо Registry.LocalMachine использовать

using (var hklm = RegistryKey.OpenBaseKey(
           RegistryHive.LocalMachine,
           RegistryView.Registry64) // или 32
using (var uninstall = hklm.OpenSubKey(
           @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall")
{
    // ...
}

И не забудьте using.