Comment ajouter des informations manifestes dans le projet delphi
Quelle est la meilleure façon d'ajouter de la <requestedPrivileges>
manifestez l'information à un projet Delphi XE (.exe)?
Est-il possible d'ajouter le nœud requis de la forme:
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator"/>
</requestedPrivileges>
ou dois-je ajouter que tout fichier de manifeste, comme?
<?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="VistaLogonCustomizer.exe" type="*"/>
<description>elevate execution level</description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator"/>
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"/>
</dependentAssembly>
</dependency>
</assembly>
si je dois ajouter tout le fichier manifest, est-ce que j'ai alors un conflit avec le fichier build in manfest (qui est généré lorsque l'option project-"Activate Runtime-Theme" est définie à true)?
3 réponses
Est-il possible d'ajouter le nœud requis
absolument pas. Le manifeste est un document XML et les documents XML doivent être bien formés. Voici la description du schéma XML:
http://msdn.microsoft.com/en-us/library/aa374191(SV.85).aspx
notez les éléments et attributs requis.
Voici quelques liens
Delphi et Windows Vista Contrôle de Compte d'Utilisateur
Voici les étapes:
Create XML file with following content:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.1.1.1"
processorArchitecture="X86"
name="YourApplicationExeName"
type="win32"/>
<description>elevate execution level</description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
nommez ce fichier XML comme YourApplicationName.manifeste
Créer un fichier texte avec la suite contenu:
1 24 "YourApplicationName.manifest"
nommez ce fichier texte comme YourApplicationName.RC en utilisant le ligne de commande exécuter la commande suivante:
brcc32 Yourrapplicationname.RC-foYourApplicationName.REC
ceci créera un nouveau fichier de ressources appelé YourApplicationName.REC Copy cette Nom_application.REC fichier dans le chemin d'accès aux ressources de votre application. Incluez ce fichier de ressources dans le RMR de votre application,
comme:
{$R Nom_application.REC} Enfin construire votre application - il est maintenant prêt à obtenir admin des droits de l'
vous devriez ajouter le manifeste entier. Vous devrez désactiver la version générée par IDE dans le projet.
L'avantage, c'est que vous aurez complète et transparente de contrôle de votre manifeste. Par exemple, vous voudrez peut-être ajouter une entrée de type DPI aware pour que votre application semble bonne à des valeurs de mise à l'échelle de police plus élevées.