DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Développer une application ou un site / Windows Vista
  • Présentation
  • Conseils de programmation
  • Emplacement des fichiers manipulés par l'application
  • Utilisation de la base de registre
  • Adapter une application existante pour Windows Vista (et supérieur)
  • Exemples de fonctions affectées par la gestion des droits utilisateur sous Vista (et supérieur)
  • Familles de fonctions pouvant être affectées par le mécanisme de l'UAC
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Présentation
Pour augmenter la sécurité des postes face aux vers et virus, Windows Vista/7 a mis en place le mécanisme de l'UAC (le contrôle de compte utilisateur). Par défaut, ce mécanisme considère que tous les utilisateurs (administrateurs y compris) sont de simples utilisateurs avec des droits réduits. Pour exécuter une application nécessitant des droits supplémentaires, le mécanisme de l'UAC demande une confirmation.
Cette page d'aide présente différents conseils de programmation pour créer une application ne nécessitant pas de privilèges administrateur (aucune confirmation ne sera demandée à son lancement) et respectant les normes de programmation de Windows Vista (et supérieur).
Conseils de programmation

Emplacement des fichiers manipulés par l'application

Pour créer et modifier un fichier sans avoir besoin de privilèges administrateur, il est nécessaire :
  • de ne pas écrire dans le répertoire "Windows".
  • de ne pas écrire dans le répertoire "Program files". Par contre, il est conseillé d'installer les applications dans ce répertoire.
Conséquences :
  • Si une application doit créer ou modifier des fichiers de données HFSQL, ces fichiers de données doivent être localisés par exemple dans le répertoire correspondant à l'application (connu avec la fonction SysRep et la constante srAppDataCommun).
  • Si une application doit créer ou modifier des fichiers externes (fichiers .INI, fichiers texte, ...), ces fichiers doivent être localisés par exemple dans le répertoire correspondant à l'application (connu avec la fonction SysRep et la constante srAppDataCommun). Il est également nécessaire de faire attention à l'utilisation de la fonction INIEcrit et de bien spécifier tous ses paramètres.
  • Exécutables autonomes : Si un exécutable autonome est installé dans le répertoire "Program files", le framework ne sera pas copié dans le répertoire. Il est conseillé de ne pas utiliser d'exécutable autonome, mais plutôt de faire une installation auto-extractible.
Remarque : Si ces opérations ne sont pas réalisées, en 32 bits le mécanisme de virtualisation redirige les fichiers vers un emplacement spécifique, accessible uniquement par l'utilisateur (répertoire C:\Users\<LOGIN>AppData\Local\VirtualStore\Windows\). Cette redirection a pour but d'assurer la compatibilité des applications. Pour plus de détails, consultez Mécanisme de l'UAC.

Utilisation de la base de registre

Pour écrire dans la base de registre sans avoir besoin de privilèges administrateur, il est nécessaire de ne pas écrire dans la clé "HKEY_LOCAL_MACHINE\SOFTWARE".
Remarque : Si l'utilisateur n'a pas les droits nécessaires, le mécanisme de l'UAC effectue une redirection automatique vers la clé "HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE\SOFTWARE". Cette redirection a pour but d'assurer la compatibilité des applications. Les clés écrites dans ce répertoire pourront être lues par l'application qui les a écrites. Pour plus de détails, consultez Mécanisme de l'UAC.
Adapter une application existante pour Windows Vista (et supérieur)
Votre application est déjà utilisée sous Windows Vista/7, mais vous voulez que cette application réponde aux normes de programmation Vista/7 ?
Si votre application est une application Monoposte utilisant des fichiers de données, il est nécessaire de modifier l'emplacement des fichiers de données dans votre application pour respecter les normes de programmation Vista/7 (voir paragraphe ci-dessus).
Chez l'utilisateur final, plusieurs cas peuvent se présenter :
  • Si l'application a été lancée en tant qu'administrateur (utilisation d'un manifeste administrateur ou case à cocher utilisée dans les propriétés de l'exécutable), les fichiers de données de l'application sont présents dans le répertoire spécifié dans votre application.
  • Si l'application a été lancée en tant qu'utilisateur simple, Windows Vista/7 a automatiquement virtualisé les répertoires utilisés (si l'accès à ces répertoire était interdit pour cet utilisateur). Les fichiers de données de l'application sont présents dans le répertoire : C:\Users\<LOGIN>AppData\Local\VirtualStore\Windows\
Exemples de fonctions affectées par la gestion des droits utilisateur sous Vista (et supérieur)

Familles de fonctions pouvant être affectées par le mécanisme de l'UAC

Voici les différentes familles de fonctions ou fonctions dont le fonctionnement peut être modifié par l'activation du mécanisme de l'UAC (Rappel : le mécanisme de l'UAC est activé par défaut sur Windows Vista/7) :
Cette liste n'est pas exhaustive.
Version minimum requise
  • Version 11
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 06/09/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale