2009-07-16 5 views
4

J'ai besoin d'analyser la version du fichier et la version du produit à partir des fichiers Windows exe et msi. Pourriez-vous me diriger vers la spécification de fichier ou la bibliothèque (de préférence en Java) qui fait cela?Comment lire la version du fichier .exe windows?

MISE À JOUR:

Il se trouve que je ne peux pas utiliser winapi, car le code doit fonctionner sur Linux et ...

Répondre

1

Vous pouvez utiliser GetFileVersionInfoSize et GetFileVersionInfo fonctions pour obtenir la version du fichier et produit version. Je ne suis pas gourou en Java mais pour autant que je sache, il y a la possibilité d'utiliser des fonctions WinAPI.

+0

Je pensais à ce sujet, mais voudrait éviter que ... – ya23

0

J'ai un programme Delphi qui peut analyser les en-têtes PE/NE dans les fichiers Windows EXE - mais pas ici. Je pense qu'il peut être porté sur Java facilement comme il le fait pour une analyse binaire des fichiers.

Bien sûr, l'utilisation d'un appel JNA vers Windows API pourrait faire l'affaire sous Windows.

Edit:I found it, mais il y a quelques petits problèmes:

  • L'objectif initial du programme était de extraire des ressources de fichiers EXE (PE/NE), au moment où le disponible éditeurs de ressources seulement travaillé avec le format PE (NE est utilisé par Win3.1)
  • L'interface utilisateur n'affiche pas les informations de version, mais la structure d'enregistrement est là pour cela
  • L'interface utilisateur est entièrement en hongrois, je peux fournir traduction si ne eded
  • Certains des commentaires de code sont en hongrois, à l'exception de quelques descriptions de structure d'enregistrement, qui sont en anglais
  • Je ne sais pas si elle compile ou non par elle-même aujourd'hui.
  • Le ZIP contient un compilé Win32 RESXPLOR.EXE
  • Le code a quelques tampons de bugs dépassement ici ou là - devraient être facilement pour y remédier en Java
+0

L'avez vous écrit? Si oui, quelle spécification avez-vous utilisé? Oui, le portage de Delphi ne serait pas un problème. – ya23

+0

100% de code propre, mais depuis que j'ai déménagé à Java il y a 4 ans, je ne garde pas mes vieux trucs dans un endroit facilement accessible. Il a été développé autour de 2001 je pense, et j'ai lu les spécifications de format de fichier sur différents sites (wotsit.org, etc.). Ce n'était pas seulement l'analiseur mais l'interface utilisateur graphique vue par un arbre. Je peux l'obtenir pour vous mais seulement environ 10 heures à partir de maintenant. Et si vous le portez sur Java, envisagez de le rendre open-source. – akarnokd

Questions connexes