Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Versionsinformation aus Exe im Stream (https://www.delphipraxis.net/170564-versionsinformation-aus-exe-im-stream.html)

snook 23. Sep 2012 21:15

Versionsinformation aus Exe im Stream
 
Hallo alle miteinander,

ich suche im moment nach einer möglichkeit aus einer compilierten executable (erstelt in delphi) welche ich in einem stream zu liegen habe, die versionsinformationen auszulesen. klar, es wäre kein problem die executable über einen filestream als klassische .exe abzulegen und dann die msdn-funktionen für resourcen zu verwenden. es wäre aber schön, wenn direkt aus dem stream die versionsinformationen ausgelesen werden könnten. weiß jemand ob das möglich ist, und wenn ja wie?

beste grüße

Zacherl 24. Sep 2012 00:05

AW: Versionsinformation aus Exe im Stream
 
Sagen wir mal so: Ja es geht, aber dafür musst du das PE Format parsen, um an die Resource Section und danach explizit an die VERSIONINFO Resource zu gelagen. Danach musst du zusätzlich noch das binäre Format der eigentlichen Info Resource per Hand parsen, um an die von dir gewünschten Daten zu gelangen.

Meiner Meinung nach ein zu großer Aufwand, wenn man die Datei auch einfach kurz im Temp Ordner ablegen könnte.

snook 24. Sep 2012 00:08

AW: Versionsinformation aus Exe im Stream
 
wow okay, vielen dank für die antwort, aber es wird dann wohl wirklich die quick and dirty version werden^^.

einen schönen abend noch

himitsu 24. Sep 2012 00:26

AW: Versionsinformation aus Exe im Stream
 
Klar ist das möglich.
Du beschäftigst dich mit dem PE-Format (also dem EXE-Format), suchst dir die Resourcen, darin dann die Resource für diese Versionsinfo und dann parst du diese Info selber.

(eventuell hat das aber schonmal wer gemacht und bietet irgendwo seine geistigen Ergüsse zur Nutzung an :gruebel:)

Zacherl 24. Sep 2012 01:00

AW: Versionsinformation aus Exe im Stream
 
Das Parsen der VersionInfo Resource hatte ich mal irgendwo implementiert. Fals du es doch versuchen willst, könnte ich mal schauen, ob ich den Source noch irgendwo finde. Damals ging es mir aber eher darum die Resource zu schreiben, deshalb bin ich mir nicht mehr sicher, ob ich das Auslesen auch eingebaut hatte.

Bernhard Geyer 24. Sep 2012 06:18

AW: Versionsinformation aus Exe im Stream
 
In der JCL müsste doch ein PE-Parser liegen (unter den Demos gibts ja auch einen PE-Viewer)

CCRDude 24. Sep 2012 08:11

AW: Versionsinformation aus Exe im Stream
 
Der XN Resource Editor enthält eigentlich alles, auch ein paar Units namens ResourceUtils, und darin die Unit unitResourceVersionInfo.

snook 24. Sep 2012 20:03

AW: Versionsinformation aus Exe im Stream
 
@zacherl, falls du mal schauen möchtest, dann würde ich mir einfach den code für deinen parser ansehen, ich denke das würde mir reichen. hab heute abend noch nichts vor und anhand von sourcen lernt es sich am besten wie ich finde.

also falls du es findest, würd mich freuen.

viele grüße

Zacherl 24. Sep 2012 23:59

AW: Versionsinformation aus Exe im Stream
 
Ich habe mal geschaut, aber scheinbar ist mein altes Tool mitsamt Source irgendwo im Datennirvana verschollen. Habe mir interessehalber aber auch mal den XN Editor angeschaut. Ist auf jeden Fall einen Blick wert :) Der Quelltext vom vollständigen VersionInfo Parser ist dort enthalten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz