Depuis que Microsoft a rendu le Contrôle de compte d’utilisateur (UAC) plus persistant dans Windows 10 et les versions ultérieures, exécuter certaines applications sans les invites intempestives est devenu un peu fastidieux. C’est particulièrement vrai lors de tests ou si vous cherchez simplement une solution rapide pour contourner l’UAC pour une application spécifique, et non pour l’ensemble du système. Ce guide explore des méthodes concrètes utilisées pour contourner l’UAC, principalement via l’ option « RunAsInvoker », afin d’améliorer le fonctionnement de certaines applications sans compromettre la sécurité. C’est un peu bricolé, mais sur certaines configurations, cela peut vous éviter de cliquer sur « Oui » à chaque lancement, notamment pour les applications qui ne devraient pas nécessiter de droits d’administrateur mais qui requièrent tout de même l’approbation de l’UAC. Attention : certains programmes ignorent cette option ou nécessitent de toute façon des droits d’administrateur ; ne vous attendez donc pas à des miracles. Mais si vous avez une application récalcitrante qui refuse de coopérer, cette méthode pourrait vous aider à l’exécuter sans avoir à obtenir les droits d’administrateur à chaque fois.
Comment désactiver les invites UAC pour des applications spécifiques sous Windows
Désactivation du contrôle de compte d’utilisateur (UAC) pour un programme à l’aide de l’outil de compatibilité des applications
Cette méthode peut paraître excessive, mais elle est en réalité assez fiable pour forcer les applications à s’exécuter avec un paramètre de compatibilité spécifique. Vous aurez d’abord besoin du Kit de déploiement des applications Windows (ADK ).Téléchargez la dernière version : elle inclut le Kit de compatibilité des applications. Lors de l’installation, sélectionnez uniquement les Outils de compatibilité des applications. Vous disposerez ainsi de l’ Administrateur de compatibilité, indispensable pour créer des correctifs de compatibilité.
Sur un système 64 bits, exécutez l’ Administrateur de compatibilité (x64) ou la version 32 bits si l’application est en 32 bits. Des droits d’administrateur sont requis. Ouvrez l’outil, puis, sous Bases de données personnalisées, cliquez avec le bouton droit et choisissez Nouvelle base de données. Nommez-la (par exemple « NoUAC-Regedit ») et créez ensuite un correctif d’application. Renseignez le nom de l’application (par exemple, regedit ), le fournisseur (Microsoft) et le chemin d’accès exact à l’exécutable (probablement C:\Windows\System32\regedit.exe ).
À l’étape suivante (Correctifs de compatibilité), cochez la case « Exécuter en tant qu’invocateur ». Cela indique à Windows d’exécuter l’application sans demander d’élévation de privilèges ni vous inviter à le faire. Vous pouvez la tester directement depuis l’outil en cliquant sur « Tester l’exécution ». Une fois le test concluant, enregistrez la base de données (par exemple, regedit_fix.sdb ) et installez-la via la ligne de commande en exécutant la commande :
sdbinst -q c:\path\to\regedit_fix.sdb
Cette action enregistre la correction pour l’ensemble du système. Ouvrez maintenant regedit et, miracle !, plus d’invite UAC. Notez que cette correction ne fonctionnera que si l’application ne requiert pas explicitement de droits d’administrateur pour certaines actions. De plus, toutes les applications n’obéissent pas à l’ indicateur RunAsInvoker ; certaines l’ignorent tout simplement, notamment si elles demandent explicitement des droits d’administrateur.
Activez l’indicateur d’application RunAsInvoker via le Registre
Si la modification de l’administrateur de compatibilité vous semble excessive, vous pouvez configurer manuellement le même comportement via le registre. Cette méthode est plus rapide pour les tests ou les configurations à petite échelle. Il s’agit simplement de créer ou de modifier une entrée de registre comme suit :
- Ouvrir l’Éditeur du Registre ( Win + R, type
regedit) - Accédez à HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
- Créer une nouvelle valeur REG_SZ :
- Nommez-le exactement comme le chemin d’accès complet à votre fichier exécutable, par exemple : C:\Windows\regedit.exe
- Configurez ses données pour qu’elles s’exécutent en tant qu’invocateur.
Vous souhaitez l’appliquer à l’ensemble du système ? Procédez de la même manière dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers. Bien sûr, en entreprise, vous pouvez déployer cette modification via les préférences de stratégie de groupe ; inutile d’intervenir manuellement sur chaque machine. Attention, cette procédure est quelque peu masquée ; il vous faudra donc un peu de temps pour vous familiariser avec la modification des entrées de registre.
Script batch pour lancer l’application en mode RunAsInvoker
C’est assez simple mais pratique. Il suffit de créer un fichier *.bat* avec la ligne suivante, en remplaçant le chemin d’accès à votre application :
Set ApplicationPath="C:\windows\regedit.exe" cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %ApplicationPath%"
Un double-clic sur ce script lancera l’application sans nécessiter d’élévation de privilèges, grâce à la variable d’environnement RunAsInvoker. Cette méthode est aléatoire selon l’application, mais il est facile de l’essayer avant d’entreprendre des modifications plus poussées du registre ou des correctifs de compatibilité.
Remarque : toutes les applications ne contournent pas les invites du Contrôle de compte d’utilisateur (UAC) de cette manière ; certaines sont conçues pour toujours demander une élévation de privilèges si elles détectent certains comportements ou pour demander explicitement les droits d’administrateur. Toutefois, sur les configurations légères, notamment lors du test d’un programme, ces astuces peuvent considérablement réduire le nombre de clics.
Par ailleurs, n’oubliez pas que le simple fait de contourner l’invite ne confère pas à l’application les privilèges d’administrateur. Si elle doit effectuer des modifications à l’échelle du système, elle ne pourra toujours pas le faire à moins d’être exécutée en tant qu’administrateur. Néanmoins, ces astuces peuvent vous éviter l’étape supplémentaire de passer par le Contrôle de compte d’utilisateur (UAC) si vous effectuez simplement des tests ou désactivez temporairement les invites pour une application.