2010-03-29 3 views
1

Je tente d'écrire une clé dans le Registre. Cela fonctionne sur Windows XP, mais échoue sur Windows 7/Vista."L'accès au Registre demandé n'est pas autorisé." sous Windows 7/Vista

Le code ci-dessous lève une exception de sécurité avec la description "L'accès au Registre demandé n'est pas autorisé." Je me rends compte que cela a à voir avec les paramètres UAC, mais je ne pouvais pas trouver une solution de contournement idéale.

Je ne veux pas débourser un autre processus, et peut-être ne veut même pas demander des informations d'identification. Je veux juste que cela fonctionne de la même manière que sur Windows XP. J'ai modifié le fichier manifeste et supprimé le noeud requestedExecutionLevel. Cela semble faire l'affaire.

Existe-t-il une autre solution de contournement possible et existe-t-il des failles sérieuses avec la solution «manifeste»?

Répondre

1

Vous n'êtes pas autorisé à écrire sur la clé globale pour l'ensemble de la machine. Pouvez-vous stocker vos données sous la clé utilisateur actuelle? Cela ne devrait pas nécessiter d'autorisations d'administrateur.

+0

Je me rends compte aussi. Je voulais que tous les utilisateurs de la machine actuelle puissent lire/écrire cette entrée de registre. – Trainee4Life

+0

Dans ce cas, l'application doit fonctionner en tant qu'administrateur. – Giorgi

+0

voir http://stackoverflow.com/questions/562350/requested-registry-access-is-not-allowed – CSharper

0

J'ai aussi eu même problème avec vous et je changé LocalMachine à currentUser comme celui-ci

RegistryKey regKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\App_Name\\" + subKey, true); 
Questions connexes