Problèmes de fichier manifeste de l’application Delphi sous WinXP et Win7

Ma dernière question “Statut du service et des services de liste sous Win-7” m’a amené à travailler sur une solution qui donne à mon application les privilèges d’administrateur sous Windows Vista en fonction d’un fichier .manifest.

Je n’étais pas sûr de continuer la question précédente avec ce sujet car ils ne sont pas les mêmes alors voici une autre question:

Mon application fonctionne maintenant correctement sous Windows 7, que je l’exécute “en tant qu’administrateur” à cause du fichier manifeste. Mon fichier manifeste est le suivant:

   Powershield Service Monitor         

Lorsque l’application s’exécute sur Windows 7 ou Vista, l’UAC est livré avec une boîte de dialog comme celle-ci: alt text http://img.zgserver.com/windows/www.freeimagehosting.net

Comment puis-je remplacer l’éditeur “inconnu”?

L’autre problème est que même si l’application fonctionne sans problème sous Win7 ou Vista, sous WinXP, le message suivant s’affiche: «Cette application n’a pas pu démarrer car la configuration de l’application est incorrecte. La réinstallation de l’application peut résoudre ce problème. problème.”

Une autre chose que j’aimerais append: si j’ajoute une référence (clause uses) à XPMan, l’application fonctionne bien sur WinXP mais ensuite, mon fichier .manifest ne fait aucune différence sous Vista ou Win7.

Je dois remercier tout le monde que, avec des commentaires ou des réponses, pointez-moi pour continuer à creuser … 🙂 Je suis allé chercher le fichier WindowsXP.res. Le contenu de ce fichier est:

         

La solution: j’ai mélangé mon fichier .manifest avec le fichier WindowsXP.Res xml en ajoutant la section dépendances . Si quelqu’un sait pourquoi cela fonctionne maintenant, je serais ravi d’entendre parler de – mais c’était la solution ici – testée jusqu’ici sur deux machines virtuelles, sur mon ordinateur et sur quelques autres … fonctionnant 🙂

Vous devez signer votre code avec un certificate de signature de code. Il devrait y avoir beaucoup d’exemples ici. J’ai re-tagué votre question avec “signature de code” et vous pouvez également rechercher “certificate”.
J’utilise moi-même les films Comodo, et je les signe avec Visual Build Pro v6, un annonceur génial sur SO.

Vous pouvez également indiquer la compatibilité avec différentes versions de Windows dans votre manifeste. Je sais qu’il existe des entrées pour la compatibilité avec Vista et Win7; pas sûr de XP.

Des informations sur la section de compatibilité des manifestes sont disponibles sur MSDN . Cela peut aussi aider – à partir de la page liée:

         

Sur les nouvelles versions de Delphi (7 et plus, je pense), vous devez également vous assurer de décocher l’option “Utiliser les thèmes d’exécution” dans la boîte de dialog d’options, sinon Delphi liera automatiquement son propre fichier manifeste par défaut. le “support de thème”) et vous obtiendrez une erreur d’exécution à propos de la configuration de l’application étant incorrecte, car il y aura des entrées en conflit.

Voici un fichier manifeste complet pour une application Delphi2007 qui doit s’exécuter en mode administrateur dans Windows 7 et comprend également la section “dépendance” pour activer la prise en charge du thème d’exécution: