Question

Je sais que nous ne devrions pas utiliser le registre pour stocker les Données d'Application, mais dans la mise à jour d'une application existante (et de vouloir faire le moins de changements), ce Registre de l'Urticaire sont les non-administrateurs autorisés à utiliser?

Puis-je accéder à tous HKEY_CURRENT_USER (l'application en cours d'accès HKEY_LOCAL_MACHINE) sans privilèges d'Administrateur?

Était-ce utile?

La solution

En général, un utilisateur non-administrateur a cet accès à la base de registre:

Lire/Écrire à:

  • HKEY_CURRENT_USER

Lecture Seule:

  • HKEY_LOCAL_MACHINE
  • HKEY_CLASSES_ROOT (qui est juste un lien pour HKEY_LOCAL_MACHINE\Software\Classes)

Il est possible de modifier certains de ces autorisations sur un clé-en-clé de base, mais c'est extrêmement rare.Vous ne devriez pas avoir à vous soucier de cela.

Pour vos besoins, votre demande doit être l'écriture de paramètres et la configuration de HKEY_CURRENT_USER.L'canonique place est partout dans les HKEY_CURRENT_USER\Software\YourCompany\YourProduct\

Vous pourriez potentiellement être des paramètres globaux (pour tous les utilisateurs) HKEY_LOCAL_MACHINE.Il est très rare d'avoir besoin de le faire, et vous devriez éviter.Le problème est que tout utilisateur peut "lire" ces, mais seul un administrateur (ou, par extension, votre programme d'installation/installation du programme) peut "régler" leur.

Autre source commune de difficulté:votre application ne doit pas écrire pour rien dans l' Program files ou l' Windows les répertoires.Si vous avez besoin d'écrire dans des fichiers, il y a plusieurs options à portée de main;décrivant tous serait une plus longue discussion.Toutes les options de finir l'écriture d'un sous-dossier ou l'autre, sous %USERPROFILE% pour l'utilisateur en question.

Enfin, votre application doit rester en dehors de HKEY_CURRENT_CONFIG.Cette ruche est titulaire de la configuration matérielle, les services de configuration et d'autres éléments que 99,9999% des applications ne devraient pas avoir à regarder (il contient par exemple le plug-and-play périphérique de la liste).Si vous besoin de quelque chose à partir de là, la plupart des informations sont disponibles à travers les Api prises en charge ailleurs.

Autres conseils

Oui, vous devriez être en mesure d'écrire à n'importe quel endroit sous HKEY_CURRENT_USER sans avoir les privilèges d'Administrateur.Mais c'est effectivement une banque privée qu'aucun autre utilisateur sur cette machine sera en mesure d'accéder, de sorte que vous ne pouvez pas le mettre tout de configuration partagé là.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top