Quel peut être l'impact de l'activation du contrôle de compte utilisateur (UAC) sur votre application si elle ne le prend pas en charge ?

| Microsoft MSDN France | Jérôme Lambert |

Retrouvez l'intégralité des questions/réponses sur le développement sous Windows 7 dans l'article suivant.

Commentez cet article : Commentez ♪

- Titre : Quel peut être l'impact de l'activation du contrôle de compte utilisateur (UAC) sur votre application si elle ne le prend pas en charge ?

- Auteurs : Microsoft MSDN France, Jérôme Lambert

- Parution : 31 janvier 2010

- Licence : Copyright ® 2011 Microsoft MSDN France. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Quel peut être l'impact de l'activation du contrôle de compte utilisateur (UAC) sur votre application si elle ne le prend pas en charge ?

I - Quel peut être l'impact de l'activation du contrôle de compte utilisateur (UAC) sur votre application si elle ne le prend pas en charge ?

- Redirection des écritures dans un répertoire Virtuel.

- L'application ne fonctionne plus, avec des accès refusés en écriture.

Lorsque vous vous connectez à un poste Windows 7, par défaut, vous vous connectez en tant qu'utilisateur standard, même si les informations de connexion que vous utilisez sont celles d'un compte administrateur. Vos applications tourneront dans le contexte de cet utilisateur. Or, les comptes utilisateur standard, n'ont plus accès aux répertoires, Windows, Program Files, la racine (ex. C), et ont accès en lecture seule à HKEY_LOCAL_MACHINE. Si votre application écrit dans ces locations, deux cas de figure se présentent à vous :

1. Votre application est une application 32 bits, alors, Windows 7 redirigera (virtualisera) toutes les écritures, dans le répertoire VirtualStore (ex. C:\Users\[NomUtilisateur]\AppData\Local\VirtualStore\) ;

2. Si votre application est une application 64 bits, la virtualisation n'existant pas sur Windows 7 64 bits, vos applications ne fonctionneront plus comme avant et auront des accès refusés.

Dans les deux cas, il est important que vos applications prennent en charge l'UAC, car la virtualisation ne sera sans doute pas supportée dans de futures versions de Windows.

Pour prendre en charge l'UAC, il suffit d'ajouter un fichier manifeste à votre application, comme expliqué dans l'atelier du coach Windows 7 http://msdn.microsoft.com/fr-fr/windows/msdn.coach.windows7.compatibilite.atelier2.aspx

Si vous souhaitez toujours écrire dans ces répertoires protégés, il faut que ce manifeste indique que votre application tourne avec les droits administrateurs. Néanmoins, il est préférable d'éviter d'écrire dans ces répertoires protégés, mais plutôt d'écrire dans le répertoire c:\ProgramData comme illustré dans le coach Windows 7.

Pour plus d'infos :

- MSDN : http://msdn.microsoft.com/fr-fr/windows/default.aspx

- Le coach Windows 7 : http://msdn.microsoft.com/fr-fr/windows/msdn.coach.windows7

- Kit de développement pour Windows 7 : http://msdn.microsoft.com/fr-fr/windows/gg398052.aspx