Pregunta

Sé que ya no deberíamos usar el registro para almacenar datos de aplicaciones, pero al actualizar una aplicación heredada (y querer realizar la menor cantidad de cambios), ¿qué colmenas del registro pueden usar los no administradores?

¿Puedo acceder a todos? HKEY_CURRENT_USER (la aplicación accede actualmente HKEY_LOCAL_MACHINE) sin privilegios de administrador?

¿Fue útil?

Solución

En general, un usuario no administrador tiene este acceso al registro:

Leer/Escribir en:

  • HKEY_CURRENT_USER

Solo lectura:

  • HKEY_LOCAL_MACHINE
  • HKEY_CLASSES_ROOT (que es sólo un enlace a HKEY_LOCAL_MACHINE\Software\Classes)

Es posible cambiar algunos de estos permisos clave por clave, pero es extremadamente raro.No deberías tener que preocuparte por eso.

Para sus propósitos, su aplicación debe escribir ajustes y configuración en HKEY_CURRENT_USER.El lugar canónico es cualquier lugar dentro HKEY_CURRENT_USER\Software\YourCompany\YourProduct\

Potencialmente, podría mantener configuraciones que sean globales (para todos los usuarios) en HKEY_LOCAL_MACHINE.Es muy raro que necesites hacer esto y debes evitarlo.El problema es que cualquier usuario puede "leerlos", pero sólo un administrador (o por extensión, su programa de configuración/instalación) puede "configurarlos".

Otra fuente común de problemas:su aplicación no debe escribir en nada en el Program files o el Windows directorios.Si necesita escribir en archivos, existen varias opciones disponibles;describirlos todos sería una discusión más larga.Todas las opciones terminan escribiendo en una subcarpeta u otra debajo %USERPROFILE% para el usuario en cuestión.

Finalmente, su aplicación debe permanecer fuera de HKEY_CURRENT_CONFIG.Esta colmena contiene la configuración de hardware, configuraciones de servicios y otros elementos que el 99,9999% de las aplicaciones no deberían necesitar mirar (por ejemplo, contiene la lista actual de dispositivos plug-and-play).Si necesita algo a partir de ahí, la mayor parte de la información está disponible a través de API compatibles en otros lugares.

Otros consejos

Sí, debería poder escribir en cualquier lugar bajo HKEY_CURRENT_USER sin tener privilegios de administrador.Pero esta es efectivamente una tienda privada a la que ningún otro usuario de esta máquina podrá acceder, por lo que no puede colocar ninguna configuración compartida allí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top