la lecture de fichier manifeste de l'application?
Est-il un moyen facile de lire une application qui est déjà intégrée fichier manifest?
Je pensais le long des lignes d'un flux de données?
Vous devez vous connecter pour publier un commentaire.
Est-il un moyen facile de lire une application qui est déjà intégrée fichier manifest?
Je pensais le long des lignes d'un flux de données?
Vous devez vous connecter pour publier un commentaire.
Windows fichiers manifest sont Win32 ressources. En d'autres mots, ils sont embarqués vers la fin de l'EXE ou DLL. Vous pouvez utiliser LoadLibraryEx, FindResource, LoadResource et LockResource pour charger la ressource incorporée.
Voici un exemple simple que des extraits de son propre manifeste...
Alternativement, vous pouvez utiliser MT.EXE à partir du kit de développement logiciel Windows:
UnlockResource
etFreeResource
sont obsolètes.Vous pouvez extraire/remplacer/fusionner/valider manifeste à l'aide de la ligne de commande outil manifeste,
mt.exe
, qui fait partie du kit de développement logiciel Windows:EDIT: j'ai trouvé l'outil dans C:\Program Files\Microsoft SDKs\Windows\v6.1\bin
-out:con
à la sortie de la console 🙂Ouvrir le fichier dans le bloc-notes. La chose est en texte brut.
Il y a un manifeste outil de visualisation disponibles ici -- je ne sais pas si l'auteur va rendre le code source disponible.
Resource Tuner serait bien si elle a appuyé code x64, mais au jour d'aujourd'hui il est encore seulement pour des applications 32 bits. Resource Hacker (la dernière version bêta publique) prend en charge les versions x86 et x64 qui est disponible ici:
http://angusj.com/resourcehacker/
La façon la plus simple pour afficher/modifier manifeste dans compilé des applications est à l'aide de Ressources de Tuner:
http://www.restuner.com/tour-manifest.htm
Dans certains cas, il est plus robuste que mt.exe à partir de MS, et c'est un outil visuel.
De travail un peu de Roger code, voici le code que j'utilise. Il supposer que le Manifeste est l'id est #1. Je suppose que c'est la valeur par défaut pour .exe. Voir le commentaire par Wedge, vous devrez également vérifier l'id #2 si vous travaillez avec une DLL.
Résoudre ce problème en supprimant les développeurs de licence (
*_TemporaryKey.pfx
) du projet ou du changement de Nom de .pfx .Que d'un côté de rappel: n'oubliez pas que se manifeste peut également être autonome fichiers avec le même nom que l'application (étendu par ".manifeste").
Donc, si vous voulez vérifier ce qui manifeste est vraiment utilisé lors de l'exécution, cela doit être pris en compte.