Лично, чтобы код всегда работал в главном ключе реестра (не в 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, при работе в «любом процессоре» он работает правильно. Что здесь происходит?