Clé de registre Windows 7 64 bits

Résolu
ccito Messages postés 67 Date d'inscription mercredi 5 mai 2010 Statut Membre Dernière intervention 20 mai 2011 - 13 août 2010 à 13:12
ccito Messages postés 67 Date d'inscription mercredi 5 mai 2010 Statut Membre Dernière intervention 20 mai 2011 - 14 août 2010 à 14:34
Bonjour,

J'utilise l'instruction suivante pour écrire une clé de registre:

My.Computer.Registry.LocalMachine.CreateSubKey("SOFTWARE\AAA")

Cette instruction fonctionne correctement sous windows XP 32 bits mais pas sous windows 7 64 bits.

Il semble qu'il y ai un problème d'autorisation.

Je développe sous VB2010 Express.

Aurriez-vous des exemples pour manuipuler les clé de registre dans cette version de windows.

Merci d'avance

5 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 41
13 août 2010 à 14:22
Il faut que tu demande une élévation de privilèges pour ton logiciel.

Plusieurs pistes :
Au niveau de Windows avec l'option "Executer en tant qu'administrateur" à chaque lancement, soit dans les propriétés de l'exécutable pour fixer cette option de façon pérène.

Au niveau de ton logiciel en agissant sur le manifest. Depuis les propriétés de ton projet, tu ouvre l'onglet Application puis tu clique sur "Afficher les paramètres UAC"
Dans le fichier qui s'ouvre, tu repère la ligne
        <requestedExecutionLevel level="asInvoker" uiAccess="false" />
et tu la remplace par
        <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />


Tu enregistre et tu recompile tout.


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
3
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 30
13 août 2010 à 14:11
En effet, pour écrire dans le registre, le logiciel doit être exécuté en tant qu'administrateur.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 41
13 août 2010 à 14:29
Précisions : Pour pouvoir debugger directement dans VS un programme qui nécessite une élévation de droit, VS doit lui-même, être au préalable lancer avec l'option "Exécuter en tant administrateur"


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0
ccito Messages postés 67 Date d'inscription mercredi 5 mai 2010 Statut Membre Dernière intervention 20 mai 2011 1
14 août 2010 à 14:21
Merci a vous pour vos réponses.

Effectivement en executant le programme en tant qu'administrateur l'écriture des clé se passe correctement.

casy ce que tu me propose en modifiant le manifest semble être la solution que je recherche. Cependant le message d'erreur suivant est générer :

Erreur	1	ClickOnce ne prend pas en charge le niveau d'exécution de la demande 'requireAdministrator'.

Qu'est-qu'on entend par "ClickOnce" ?

Y-a-t-il un paramètre a corriger ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ccito Messages postés 67 Date d'inscription mercredi 5 mai 2010 Statut Membre Dernière intervention 20 mai 2011 1
14 août 2010 à 14:34
Ok j'ai trouvé.

Dans les propiétés du projet, dans l'onglet "Sécurité" j'ai désactivé l'option "Activer les paramètres de sécurité ClickOnce" et ça marche.

Encore merci.
0