|
Depuis Vista, Windows est doté d’un mécanisme de protection des données connu sous l’acronyme UAC (contrôle du compte utilisateur). Il permet de lancer les applications avec des droits limités même si l’utilisateur possède des droits administratifs. Si les programmes ne demandent pas les privilèges d’administration, alors ils tourneront avec des droits restreints.
Les setups des produits Prim’X réalisent pour la plupart des installations par ordinateur. Leur exécution provoque donc une demande d’élévation de privilèges et ce même si le compte utilisé est présent dans le groupe « Administrateurs ». Une fois que le setup possède les privilèges d’administration, il peut lancer l’installation du msi embarqué avec ses mêmes droits. Dans ce cas, l'installation se déroule bien.
Dans le cas ou le .msi a été masterisé (donc extrait du setup) et même si le compte utilisé est dans le groupe Administrateur, il est nécessaire de lancer le msi en tant qu’administrateur. Si ce n'est pas le cas, l'installation échouera (dans les logs de l'exécution du .msi, vous trouverez alors plusieurs fois l'erreur 0x80070005 => Accès refusé).
|
Malheureusement, l’entrée « Exécuter en tant qu’administrateur » du menu contextuel du clic-droit des exécutables n’est pas présente pour les fichiers .msi. Il est alors nécessaire d’utiliser une invite de commandes lancée en tant qu’administrateur pour exécuter une commande msiexec (msiexec /i "C:\ZoneCentral.msi").
|
 |
|
|
Petite astuce pour ne pas utiliser d'invite de commandes : vous pouvez ajouter une entrée dans le menu contextuel des .msi en enregistrant les clés ci-dessous dans la base de registre.
|
 |
Ajouter les lignes suivantes dans un fichier .reg pour réaliser la registration des clés :
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Msi.Package\shell\SetupAsAdmin]
@="&Installer en tant qu'administrateur"
[HKEY_CLASSES_ROOT\Msi.Package\shell\SetupAsAdmin\command]
@="runas /user:Administrateur \"msiexec /i \\\"%1\\\"\""
Le nom de l’administrateur local a pu être modifié, il faut donc l’adapter en conséquence.
|