При использовании RegistryKey.GetSubKeyNames генерируется исключение IOExeption:
"Нет доступных данных"
Вот соответствующий код:
string subKey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products";
RegistryKey key = Registry.LocalMachine.OpenSubKey( subKey );
string[] keys = key.GetSubKeyNames(); // throws IOException here
Характеристики
- Win7 x64
- VS 2010 SP1
- .NET 3.5
Исключение выдается при использовании типа сборки "Any"ЦПУ";при использовании типа сборки "x86" код выполняется должным образом, но считывает ключи из "Wow6432Node" вместо пути SubKey, указанного в указанной выше строковой переменной subKey
.
вопрос : как я могу прочитать все SubKeys в пути subKey
, определенном выше, в 64-битной системе (не Wow6432Node)?
Примечание: когда я запускаю тот же код на другом64-битная система, код выполняется без ошибок.Я почти склонен думать, что у меня может быть поврежден раздел реестра где-нибудь?Если да, есть идеи, как найти поврежденный ключ?