2016-03-06 3 views
0

Dans Inno Setup, je fais PrivilegesRequired=none.Inno Setup n'affiche pas l'invite UAC sous Windows XP avec PrivilegesRequired = none

Ce paramètre doit inviter l'UAC si l'utilisateur dispose de privilèges d'administration.

Sur certains ordinateurs de Windows XP, l'UAC n'est pas invité même si l'administrateur est connecté, j'ai vérifié cela en vérifiant le paramètre IsAdminLoggedOn et j'ai vu qu'il était défini sur True.

Pourquoi cela se produit-il?

Répondre

2
  • Si IsAdminLoggedOn retours True, le programme d'installation est en cours d'exécution avec des privilèges d'administrateur ("élevé").

    Notez qu'il n'y a pas de séparation des privilèges dans Windows XP. Si l'utilisateur avec lequel vous exécutez le programme d'installation est l'administrateur, vous avez toujours des privilèges d'administrateur. Il n'y a pas d'invite UAC dans Windows XP. La seule invite que vous pouvez obtenir dans Windows XP est l'invite "Exécuter en tant que" qui vous permet d'exécuter une application/programme d'installation en tant qu'utilisateur différent (généralement l'administrateur).

  • En utilisant le (non documenté et dépréciée) PrivilegesRequired=none, vous dire en fait Inno Setup explicitement ne pas élever l'installateur, même quand il est lancé sans élevé. Le fait que vous receviez généralement l'invite UAC/Run As de toute façon est uniquement dû à l'heuristique interne de Windows qui détecte que le programme .exe que vous démarrez est un programme d'installation et qu'il doit probablement être exécuté en mode élevé.

    Pour plus de détails, voir ma question Make Inno Setup installer request privileges elevation only when needed.

+0

Vous ne pouvez pas modifier un sujet de votre question. Postez une nouvelle question pour votre problème réel. –