Versionsnummer auslesen

  • Hallo,

    wie kann man von einer fertig kompilierten exe die Versionsnummer auslesen, damit ich diese in meine "AboutBox" schreiben kann?

    Ich lasse bei kompilieren ein Increment hochzählen, da muss ich doch rigendwie dann wieder ran kommen, oder?

    Gruß

  • mhh gute Idee also ich hab mal ein AutoStarter für meinen Freund geschrieben dort gab es auch verschiedene Versionen ich hab das dann einfach so gemacht, dass er die über TCP auf einer I net Seite ausließt.

    Aber ich versteh auch deine Frage nicht ganz hast du nur die exe oder auch source? Und was meinst du mit Versionsnummer? Die von autoit mit der die exe complimiert wurde?

  • @I3iLLiG: Ja ich habe auch die Source, ich schreibe das Prog ja...:-)

    Wenn AutoIt diese nun kompiliert, zählt dieser eine Versionsnummer pro Kopilevorgang hoch und schreibt diese mit in die EXE rein. Per Reshack habe ich diese Infos auch schon gefunden.
    Ich möchte nun diese Versionsinfo auf der "About Box" ausgeben, bisher zeige ich da einen String an, den ich immer von Hand ändere, aber das ist mir nun zu doof, da Autoit ja diese Information in die EXE schreibt, wieso soll ich mir immer die arbeit machen, wenn ich dafür nur einen Funktionsuafruf machen muss. Aber leider kenne ich diesen Funktionsaufruf nicht... und hoffe diese nun hier zu bekommen

    Gruß

  • moin moin!

    Bin mir nicht sicher ob

    [autoit]

    FileGetVersion ( "filename" [,"stringname"] )

    [/autoit]

    auch bei mit AutoIt kompilierten Exen funktioniert???

    Wie genau machst du das mit ???

    Zitat

    Ich lasse bei kompilieren ein Increment hochzählen,...


    Selber mache ich fast nur SilentInstallScripte, da lasse ich gerne die Version Nr von den installierten Tools auslesen um diese Info beim Link mit anzuhängen:

    Spoiler anzeigen


    Hier zB von CCleaner

    [autoit]

    $vers = FileGetVersion(@ProgramFilesDir & "\CCleaner\ccleaner.exe") ;List die Versions Nr. aus...
    Do ;...und beschneidet sie etwas
    $vers = StringTrimRight ( $vers, 1 )
    Until StringRight($vers, 1) = "."
    Do
    $vers = StringTrimRight ( $vers, 1 )
    Until StringRight($vers, 1) = "."
    $vers = StringTrimRight ( $vers, 1 )
    FileCreateShortcut ( @ProgramFilesDir & "\CCleaner\ccleaner.exe", @StartMenuCommonDir & "\Programme\Zubehör\# CCleaner " & $vers )

    [/autoit]


    Ja ist keine Schönheit aber es funktioniert! 8)

    :!: "If you make something idiot proof, someone will invent a better idiot." :!:

  • danker: genau sowas habe ich vermutet. Wenn es funktioniert eine wirkliche Erleichterung für mich... da ich das immer vergessen habe die Version im String hochzuziehen.

    Ich nutze den SciTe Editor. Dieser nutzt den AutoIt3Wrapper und dort kann man angeben, das es die Versionsnummer mit nutzen des Reshack-Tools automatisch hochzählt.

    Gruß HHS

  • Zitat

    Ich nutze den SciTe Editor. Dieser nutzt den AutoIt3Wrapper und dort kann man angeben, das es die Versionsnummer mit nutzen des Reshack-Tools automatisch hochzählt.


    hmmm... benutze auch nur SciTe aber der hat so viele (nie gebrauchte) Funktionen das ich auch deine erwähnte nicht finde! :(
    Kannst du es bitte genauer beschreiben?
    Denn es hört sich spontan recht brauchbar!
    Geht die "Versionsnummer setzen Funktion" nur über SciTe, oder auch über die Shell(RechteMaustaste auf die au3)???

    :!: "If you make something idiot proof, someone will invent a better idiot." :!:

    Einmal editiert, zuletzt von danker (22. November 2007 um 09:36)

  • danker: FileGetVersion(@Scriptfullpath) funktioniert einwandfrei, so sollte es sein. Das ich da nicht eher drauf gekommen bin, habe gesucht wie ein blödi.... :comp1:

    okay,

    ich nutze eigentlich immer die aktuelle Version von SciTe, da hat sich nämlich was im aussehen geändert... ich Versuche es mal zu beschreiben.
    Also au3-Datei geöffnet.
    Dann unter Extras->Kompilieren (STRG+F7)
    Dann unter dem Reiter "Resource update" -> hier muss der Reshack installiert werden, wenn noch nicht geschehen
    Dann ziemlich in der Mitte vom Register: FileVersion
    dort dann eine Versionnummer angeben und rechts "Auto increment" auswählen. Wenn nun Kompiliert wird, wird automatisch die letzte Stelle der Versionsnummer hochgezählt...


    Hoffe du findest jetzt die Stelle, hat sich im Design mal geändert, seit dem ich es nutze...


    Geht die "Versionsnummer setzen Funktion" nur über SciTe, oder auch über die Shell(RechteMaustaste auf die au3)???
    Die Versionnummer wird mit dem Reshack-Tool gesetzt. Du kannst das Reshack-Tool auch so starten (ist nur ne exe im Verzeichnis AutoIt3\SciTE\AutoIt3Wrapper\ResHacker.exe) und kannst da dir die erzeugten EXEs genauer anschauen.

    Gruß

    Einmal editiert, zuletzt von HalliHalloSchat (22. November 2007 um 09:47)

  • Danke! 8):D
    Habs hinbekommen! :)

    Der Tip es nur mit ResHacker zu machen funktioniert auch gut (wenn man es vorher mit UPX wieder auspackt)! :]

    :!: "If you make something idiot proof, someone will invent a better idiot." :!: