2011-01-30 17 views
10

Pensé que necesitaba derechos de administrador para cambiar el registro (obtengo errores si mi aplicación no lo tiene). Tal vez solo una parte del registro requiera derechos de administrador.Cambiando el registro sin derechos de administrador

¿Podría darnos alguna información? Necesito almacenar los datos de mi aplicación en algún lugar sin derechos de administrador.

Respuesta

15

Necesita privilegios administrativos para escribir en ubicaciones compartidas por varios usuarios.
En el sistema de archivos, esto significa carpetas como \WINDOWS o \Program Files. En el registro, esto significa todas las colmenas que no son por usuario.

Por lo tanto, solo puede escribir al HKEY_CURRENT_USER.
Específicamente, debe escribir al HKCU\Software\Your Company.

+1

Por "Específicamente, debe escribir a HKCU \ Software \ Su empresa", quiere decir que esta es la única ubicación que puede escribir sin privilegios administrativos, o que puede escribir en cualquier lugar bajo HKCU, pero esto es lo que se recomienda ¿hacer? –

+0

@Saysmaster: este último. – SLaks

+0

Bueno, yo también pensé lo mismo. Pero luego caí en este problema ... En una máquina ganadora 7 64, ejecuto una configuración msi, creada por mí en VS 2010, bajo una cuenta de usuario sin derechos de administrador. En este msi, estaba configurando algunos valores de registro en HKCU ... Pero no se ejecutaría. Me pidió derechos administrativos. Al eliminar la configuración del registro del msi, todo transcurrió sin problemas, se instaló la aplicación, pero sin la configuración en HKCU. Esto me parece muy extraño, ya que todo el mundo parece bastante seguro de que no necesitas derechos de administrador en HKCU. Del mismo modo que escribía en la subclave de mi empresa también –

3

Inicie sesión como usuario normal no administrador. Abra regedit, haga clic con el botón derecho en las teclas de nivel superior y examine los permisos para cada una, verá cuáles puede escribir como usuario. Básicamente, es solo HKEY_CURRENT_USER como dice SLaks.

HKEY_LOCAL_MACHINE está fuera de los límites, por ejemplo. Puede escribir a HKEY_USERS/SID de sus usuarios, porque HKCU es básicamente una imagen de eso.

+2

HKCU es una _alias_ a eso. Están respaldados por el mismo archivo en el disco. – SLaks

Cuestiones relacionadas