2008-12-21 5 views
3

Je suis en train de mettre à niveau une application C++ non gérée pour utiliser les contrôles communs de style XP/Vista en ajoutant un manifeste. Selon la page de MSDN sur application manifests, vous devez indiquer le nom et la version dans le manifeste, et éventuellement la description:Comment les détails manifestes d'une application sont-ils utilisés?

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
    <assemblyIdentity 
    version="1.2.3.4" 
    processorArchitecture="*" 
    name="CompanyName.ApplicationName" 
    type="win32" 
    /> 
    <description>Application's description here</description> 
</assembly> 

Comment ces détails utilisés? Il y a a mention à propos de la rétrocompatibilité impliquée en ayant les mêmes versions majeures et mineures pour les assemblages, mais cela ne semble pas s'appliquer aux applications. Je n'ai également pas pu voir le nom, la version ou la description spécifiée par le manifeste dans les propriétés de l'application sur Windows XP.

Quels sont les effets de ces changements? Cela vaut-il la peine de garder la version à jour?

Répondre

0

Pour les contrôles communs à utiliser les thèmes XP/Vista dans une application C++ qui ne lie pas le manifeste dans (tels que Visual C++ 6 applications), ce qui suit est un modèle que vous pouvez utiliser:

<?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="Program Name" 
type="win32" 
/> 
<description>Description of Program</description> 
<dependency> 
<dependentAssembly> 
<assemblyIdentity 
    type="win32" 
    name="Microsoft.Windows.Common-Controls" 
    version="6.0.0.0" 
    processorArchitecture="X86" 
    publicKeyToken="6595b64144ccf1df" 
    language="*" 
/> 
</dependentAssembly> 
</dependency> 
</assembly> 
+0

J'ai été capable de trouver cet exemple manifeste partout, et vous pouvez ajouter le manifeste à la main au script de ressources et VC6 le liera heureusement. J'essaie juste de comprendre le but de toutes les parties de la manifeste. –

+3

Je ne pense pas qu'ils ont vraiment un but. La description par exemple n'est pas actuellement utilisée, et en tant que telle, ne le sera jamais, en raison du grand nombre de programmes qui seraient décrits "Description du programme". –

0

Je dirais que cela vaut la peine de les tenir à jour. Si pour aucune autre raison, vous ne savez pas quels outils futurs pourraient être utilisés. Je ne suis pas au courant des utilisations actuelles du nom de l'assembly, de la version, etc., spécifiées dans le manifeste d'une application native. Pour remplir la page de propriétés sous XP, vous devez créer une section VERSIONINFO dans vos ressources.

Questions connexes