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):
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
Publicar un comentario