Лично, чтобы код всегда работал в главном ключе реестра (не в WoW6432), я использую такую ​​конструкцию:

но я перешел на 64-битную машину W7 с VS 2010. Мой проект настроен на запускAny CPU, Когда я изменю это, чтобы быть нацеленным наx86 Я заметил, что некоторые из моих вызовов в реестре больше не работают.

Я пытаюсь прочитатьProductID поле вроде так:

RegistryKey windowsNTKey = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows NT\CurrentVersion");
object productID = windowsNTKey.GetValue("ProductId");

productID является всегдаnull при работе в режиме x86, при работе в «любом процессоре» он работает правильно. Что здесь происходит?

Ответы на вопрос(1)

Ваш ответ на вопрос