none
Problema al consultar clave del Registro de Windows

    Pregunta

  • Muy buenas

    Estimados tengo una duda, estoy realizando un pequeño aplicativo; el proyecto es de tipo Servicio de Windows la idea es que en dicho servicio necesito mandar a consultar la clave que se encuentra en una determina ruta del registro; en mi caso seria HKEY_CURRENT_USER\Software\Microsoft\JGomez el detalle es que la llave existe pero cuando la mando a consultar esta me devuelve nulo.

    Realice una prueba de crear una llave en el mismo proyecto mediante la siguiente line a de código:  My.Computer.Registry.CurrentUser.OpenSubKey("Software\\Microsoft", True).CreateSubKey("JGOMEZ"), el detalle esta es que cuando revisor el registro la carpeta fue creada en la siguiente dirección HKEY_USERS\.DEFAULT\Software\Microsoft\JGomez, ese es el motivo por el cual cada vez que mando a consultar mi llave el valor retornado es nulo, la llave se crea en un lugar diferente. A manera de prueba cree otro proyecto de tipo Formulario de Windows, copie y pegue el código del sevicio para evaluarlo y en este caso si me retorno el valor; el problema solo ocurre en el proyecto de tipo Servicio de Windows.

    ¿Alguien sabe del porque esto o que estoy haciendo mal y como solucionarlo?

    Saludos


    Juan Gómez

    jueves, 24 de noviembre de 2016 16:29

Respuestas

  • Mira en las Propiedades del servicio desde la herramienta de administración de Servicios en el Panel de Control. A ver cuál es el user que realmente ha quedado configurado para el servicio.
    viernes, 25 de noviembre de 2016 15:39

Todas las respuestas

  • ¿Te has fijado en que estás creando la clave bajo el HKEY_CURRENT_USER? Eso se mapea de forma distinta para cada usuario ("current_user" = "usuario actual"). Es decir, el HKEY_CURRENT_USER de cada usuario es distinto, cada uno ve una copia diferente.

    Si el servicio no lo tienes configurado para que se ejecute con tu misma cuenta de usuario, irá a parar a la ubicación interna que corresponda a esa cuenta. Y si es una cuenta de sistema, que no tiene creado un Profile, va a parar al DEFAULT, que es lo que estás viendo.

    jueves, 24 de noviembre de 2016 20:11
  • Muy buenas

    Hola Alberto Poblacion, ¿Te refieres al Service Process Installer? justo en las propiedades en el Account tengo User pero el problema persiste.

    Saludos


    Juan Gómez

    viernes, 25 de noviembre de 2016 14:53
  • Mira en las Propiedades del servicio desde la herramienta de administración de Servicios en el Panel de Control. A ver cuál es el user que realmente ha quedado configurado para el servicio.
    viernes, 25 de noviembre de 2016 15:39