C# Escribir en Registro no funciona

Buenas, hoy estuve teniendo un problema bastante molesto. En mi desarrollo, al querer escribir desde un servicio en Local Machine, a pesar de que no arrojaba errores, no escribía nada y leía los valores por defecto.

La solución, luego de bastante Googleo, si bien es sencilla, fue difícil de hallar...

La causa de este problema era que en aplicaciones de 64 Bits se accede de una forma a los registros, mientras que en programas de 32 se accede de una forma diferente.

Por suerte, existe un método que sirve para ambos (utilizando diferentes parámetros):

using(var localMachine = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64)) {
    var key = localMachine.OpenSubKey("SOFTWARE", true);
    // (...)
}
En vez de usar:
using(var key= Registry.LocalMachine.OpenSubKey("SOFTWARE", true)) {
    // (...)
}
Espero que esto les haya servido. Saludos!

Comentarios

Entradas populares de este blog

Ordenar lista en python - Super fácil!