C # Lendo o registro: ProductID retorna nulo no aplicativo de destino x86. "Qualquer CPU" funciona bem

Mudei recentemente para uma máquina W7 de 64 bits com o VS 2010. Meu projeto está definido para ser executado emAny CPU. Quando eu mudo isso para ser direcionado parax86 Notei que algumas das minhas chamadas de registro não funcionam mai

Estou tentando ler oProductID campo assim:

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

productID é semprenull ao executar no modo x86, ao executar em "Qualquer CPU", ele funciona corretamente. O que está acontecendo aqui

questionAnswers(3)

yourAnswerToTheQuestion