Au lancement d'un exécutable, Windows Vista (et supérieur) effectue plusieurs contrôles sur les droits de l'utilisateur en cours par le mécanisme de l'UAC (User Account Control).
Le mécanisme de l'UAC permet de s'assurer qu'une application n'exploite pas les privilèges d'un utilisateur à son insu : chaque application est lancée avec le minimum de droits possibles. Lors du lancement d'un exécutable, le système tente de déterminer les droits requis par l'application. Le système détecte par exemple que l'application a besoin des droits Administrateur si le nom de l'exécutable contient "setup" ou "install".
Si le système détermine que l'application a besoin de droits spécifiques, nécessitant d'être administrateur, le mécanisme de l'UAC se déclenche :
- Si l'utilisateur est administrateur, Windows Vista (et supérieur) demande une confirmation.
- Si l'utilisateur n'est pas administrateur, Windows Vista (et supérieur) demande le mot de passe administrateur.
Cette validation est demandée à chaque lancement de l'exécutable.
Si une application risque d'être utilisée sous Vista (et supérieur), il est nécessaire de vérifier les opérations réalisées par l'application afin de déterminer le niveau de droits requis. Pour indiquer le niveau de droits requis, il suffit d'inclure un manifeste dans votre exécutable. Le manifeste permet de lancer l'exécutable avec le niveau de droits demandé.
Il est également possible de signer l'exécutable. Dans ce cas, la fenêtre affichée par le mécanisme de l'UAC change de couleur.
Rappel : Si l'exécutable doit être signé, indiquez le certificat à utiliser. Ce certificat doit être dans le magasin Windows (plus précisément dans le magasin de l'utilisateur et non celui de l'ordinateur). La norme de signature utilisée est PKCS7.
Cette signature permet :
- de s'assurer à tout moment que l'exécutable n'a pas été modifié depuis sa génération.
- d'afficher le nom de l'éditeur dans la fenêtre Windows de téléchargement.
Remarque : La création de l'exécutable s'effectue en déroulant l'icône

et en sélectionnant "Générer l'exécutable Windows 32 bits (.exe)" ou "Générer l'exécutable Windows 64 bits (.exe)".