L'UAC dans Windows Vista
Voici quelques éléments concernant le mode de contrôle des comptes d’utilisateurs dans Vista :
o A des fins de tests (si votre application pose un problème), vous pouvez désactiver l’UAC depuis le panneau de configuration (attention, ce n’est que pour s’assurer que l’UAC est bien à l’origine du comportement suspect…). Un reboot sera nécessaire.
o Une fois qu’un processus est lancé, on ne peut plus modifier son niveau d’élévation
o Une application peut être lancée en mode élevé si l’une de ces conditions est vraie :
- L’UAC est désactivée
- Vous cliquez-droit sur l’exe et choisissez « Exécuter en tant qu’administrateur »
- Vous modifiez les propriétés de l’exe pour qu’il s’exécute systématiquement en mode administrateur (dans l’onglet « Compatibilité »)
- Windows détecte au lancement du programme qu’il faut des privilèges élevés (par un algorithme complexe dont le but est de détecter les programmes d’installation. Un fichier nommé setup.exe aura ainsi toutes les chances de se voir lancé en mode élevé).
- Vous avez ajouté un manifeste à l’exe pour demande le mode élevé (voir https://channel9.msdn.com/Showpost.aspx?postid=211271)
o La recommandation générale est de placer le code « sensible » dans un autre .exe, que l’on lancera en forçant le mode élevé lorsque l’utilisateur active cette fonction
o Les actions nécessitant alors l’accord de l’utilisateur pour passer en mode élevé seront repérées par un bouclier
N'hésitez-pas à nous contacter pour plus de détails, notamment des exemples de code .NET pour les 2 derniers points évoqués ci-dessus.
-= Julien Bakmezdjian =-