DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Développer une application ou un site / Exécutable WINDEV
  • Présentation
  • Choix d'un manifeste
  • Présentation
  • Manifeste sans privilèges spécifiques
  • Manifeste avec privilèges maximum disponibles
  • Manifeste avec privilèges administrateur
  • Manifeste personnalisé
  • Signer un exécutable
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
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.
Pour plus de détails sur le fonctionnement de ce mécanisme, consultez Mécanisme de l'UAC.
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)".
Choix d'un manifeste

Présentation

Il est possible d'intégrer dans un exécutable différents types de manifeste. Chaque type de manifeste permet un mode d'utilisation spécifique de l'application.
Les paragraphes suivants détaillent les possibilités de chaque type de manifeste et dans quel cas les utiliser.
Les différents types d'utilisateurs possibles sont les suivants :
  • Utilisateur : Utilisateur Windows, sans droits spécifiques
  • Utilisateur avec pouvoir : Utilisateur Windows ayant des droits spécifiques ou appartenant à un groupe qui a des droits spécifiques
  • Administrateur : Utilisateur ayant les droits d'administration (administrateur du domaine, administrateur local, ...).
Le tableau ci-dessous récapitule les éléments demandés par Windows Vista en fonction de l'utilisateur et du type de manifeste utilisé :
UtilisateurUtilisateur avec pouvoirAdministrateur
Manifeste sans privilèges particuliersAucune confirmationAucune confirmationAucune confirmation
Manifeste avec privilèges maximum disponiblesAucune confirmationDemande de confirmation (1)Demande de confirmation (2)
Manifeste avec privilèges administrateurDemande de login administrateurDemande de login administrateurDemande de confirmation (3)
(1), (2), (3) : Si l'application est lancée depuis une autre application pour laquelle l'UAC a déjà été validée, la fenêtre de confirmation peut ne pas apparaître.

Manifeste sans privilèges spécifiques

Avantage : L'utilisateur pourra lancer l'application sous Windows Vista (et supérieur), même si son nom ou sa description contient des mots-clés spécifiques détectés par Windows Vista (par exemple "Install", "Setup", ...) comme nécessitant des droits administrateur.
Aucune confirmation n'est demandée au lancement de l'application.
Inconvénient : Si l'application effectue des opérations nécessitant des privilèges spécifiques (écriture dans une partie de la base de registre, écriture dans des répertoires système, ...), ces opérations échoueront, et si aucun traitement spécifique de l'erreur n'est prévu dans l'application, aucun message d'erreur ne sera affiché. La présence du manifeste annule le système de redirection de l'UAC.

Manifeste avec privilèges maximum disponibles

L'option "Manifeste indiquant que l'application nécessite les privilèges maximums disponibles" permet de lancer l'application sous Windows Vista (et supérieur). L'exécutable sera exécuté avec tous les privilèges associés au compte utilisateur qui l'exécute.
Si l'utilisateur est un administrateur, seule une fenêtre de confirmation sera affichée au lancement de l'exécutable.
Si l'utilisateur fait partie des groupes "Utilisateur avec pouvoir", "Réplicateur", ou d'un autre groupe spécial, une fenêtre de saisie d'un mot de passe administrateur s'affichera.

Manifeste avec privilèges administrateur

L'option "Manifeste indiquant que l'application nécessite les privilèges administrateur" permet de lancer l'application sous Windows Vista (et supérieur). L'exécutable sera exécuté avec tous les privilèges administrateur.
Si l'utilisateur est un administrateur, seule une fenêtre de confirmation sera affichée au lancement de l'exécutable.
Si l'utilisateur n'est pas un administrateur, une fenêtre de saisie d'un mot de passe administrateur s'affichera.

Manifeste personnalisé

L'option "Manifeste personnalisé" permet d'intégrer un fichier ".manifest" de votre choix à l'exécutable.
Remarque : La structure d'un fichier ".manifest" est spécifique. Voici un exemple de fichier :
<?xml version="1.0" encoding="UTF-8" standalone="Yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="MyApp" type="win32">
</assemblyIdentity>
<description>Application de test</description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security xmlns:ms_asmv3="urn:schemas-microsoft-com:asm.v3">
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator">
</requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
Attention : Le manifeste utilisé par défaut contient des informations permettant notamment d'afficher des bulles d'aide et de faire fonctionner certaines options de menu. Pour retrouver ces fonctionnalités, le manifeste personnalisé doit contenir les informations suivantes :
<dependency>
   <dependentAssembly>
       <assemblyIdentity
           type="win32"
           name="Microsoft.Windows.Common-Controls"
           version="6.0.0.0"
           processorArchitecture="X86"
           publicKeyToken="6595b64144ccf1df"
           language="*"
       />
   </dependentAssembly>
</dependency>
Signer un exécutable
Si le mécanisme de l'UAC est activé sous Windows Vista (et supérieur), la signature d'une application WINDEV entraîne l'affichage d'une fenêtre bleue de confirmation (au lieu des fenêtres orange).
Pour signer une application WINDEV, il est nécessaire de prendre contact avec une société de signature de code. Quelques exemples : Vérisign, Thawte, ...
Ces sociétés vous fourniront les manipulations nécessaires pour installer les certificats nécessaires sur les Mobiles ou Smartphones.
Remarque : L'assistant de création d'exécutable permet de signer les exécutables WINDEV et Mobile. Il suffit simplement de sélectionner le certificat voulu.
Version minimum requise
  • Version 11
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

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