"Thierry L" <ThierryL@discussions.microsoft.com> a écrit dans le message de
news:495DFEA9-8FD4-4E8C-A55E-713EB596B216@microsoft.com...
> Bonjour,
>
> J'ai une application qui tourne sous Vista sans problèmes sur plusieurs pc
> avec Vista (et l'UAC désactivé) Ã* l'exception d'un seul. Sur ce dernier,
> je
> remarqué déjÃ* le petit bouclier Ã* côté de l'icone du fichier dans Windows
> Explorer. Si je double clic, je reçois le warning de l'UAC (controle de
> compte utilisateur) pour me delmander si je permet ou non l'exécution. Si
> je
> clic sur "permettre" l'application se lance mais pas comme il faut (c'est
> Ã*
> dire elle apparait mais les boutons sur l'écran sont comme inactifs). Je
> ne
> comprend pas surtout que ca fonctionne très bien sur les autres
> ordinateurs
> avec Vista.
>
> Est-ce possible que l'UAC soit désactivée et que j'ai encore des warning
> de
> blocage? Que faire?
>
> J'ai fait pas mal de tests et je remarque que c'est comme si Vista se
> méfiait du nom du fichier en question (TNBUpdater.exe). Si, par exemple je
> prend un fichier quelconque et que je lui donne ce nom lÃ*, automatiquement
> Vista (sur cette machine) va marquer ce fichier avec le petit bouclier et
> mettra le warning si je l'exécute.
>
Es-tu sûr et certain que UAC soit désactivé totalement ?
Cela se "mesure" en observant la BDR :
Notifications désactivées :
HKLM\SOFTWARE\Microsoft\Security Center\Svc\<CLSID du compte
concerné>\EnableNotifications
-> égal Ã* 0
Élévation des privilèges sans demander confirmation :
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Pol icies\System\ConsentPromptBehaviorAdmin
-> égal Ã* 0
Exécution normale des exécutables non signés
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Pol icies\System\ValidateAdminCodeSignatures
-> égal Ã* 0
Désactivation TOTALE de UAC :
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Pol icies\System\EnableLUA
-> égal Ã* 0
(cf.
http://www.bellamyjc.org/fr/windowsvista.html#UAC)
En ce qui concerne le bouclier Ã* côté de l'icone du fichier, cela signifie :
- que UAC est ACTIF !!!!!!
- que l'exécutable en question possède un fichier MANIFEST
(interne ou externe) qui EXIGE une élévation de privilèges lors
du lancement de l'exécutable.
Il contient cette séquence :
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator"/>
</requestedPrivileges>
</security>
</trustInfo>
Tout est dans le "requireAdministrator"
Pour connaitre le contenu du "MANIFEST" d'un exécutable, il existe
SIGCHECK.EXE (gratuit) de ce bon vieux Mark (RUSSINOVICH)
http://technet.microsoft.com/en-us/s.../bb897441.aspx
P.ex. :
sigcheck -m SuperExec.exe
sigcheck v1.60 - sigcheck
Copyright (C) 2004-2009 Mark Russinovich
[...]
Manifest:
<?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="*"
name="UAC_Elevation_Prompt"
type="win32"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator"/>
</requestedPrivileges>
</security>
</trustInfo>
[...]
Il existe aussi un paramètre qui détecte les programmes d'installation, en
fonction de leur nom ("setup", "install", "update", ...) ou encore de la
description
présente dans la ressource "VersionFileInfo" (qui donne des
infos sur un exécutable)
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Pol icies\System\EnableInstallerDetection
> si égal Ã* 1, alors le lancement d'un programme d'installation d'un
logiciel nécessitera d'être sous un compte administrateur, avec demande
d'élévation de privilèges.
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou
http://jc.bellamy.free.fr