PE Version mit VS 2013 geht bei mir nicht.



  • Hallo zusammen
    Nachdem nun VS 2013 für Community gratis zum herunterladen ist habe ich dies nun installiert und bin am portieren meiner VC 6 Projekte.

    Dabei bin ich auf folgendes Problem gestossen.

    Wenn ich unter Eigenschaften\Linker\Allgemein eine Version 2.0 eintrage,

    Linker Argument: /VERSION:"2.0"

    wird in der Exe dennoch die Version 1.0 angezeigt.

    dumpbin /Headers file.exe

    OPTIONAL HEADER VALUES
    10B magic # (PE32)
    12.00 linker version
    BF600 size of code
    9E600 size of initialized data
    0 size of uninitialized data
    B0DF0 entry point (004B0DF0) _WinMainCRTStartup
    1000 base of code
    C1000 base of data
    400000 image base (00400000 to 00560FFF)
    1000 section alignment
    200 file alignment
    5.01 operating system version
    1.00 image version

    Mache ich was falsch oder ist dies ein Bug im VS 2013.

    Danke wenn jemand eine Lösung hat.

    mfg
    Reto Felix



  • Aktiviere doch bitte BBCode wenn du schon die Tags verwendest.

    Linker Argument: /VERSION:"2.0"

    Versuchs mal mit /VERSION:2.0 oder "/VERSION:2.0"

    Mal davon abgesehen dass ich nicht weiss warum man die "image version" ändern wollen würde.
    (Dir ist klar dass da nicht die Version deines Programms reingehört, ja?)



  • Hallo hustbaer

    Aktiviere doch bitte BBCode wenn du schon die Tags verwendest.

    Ich habe den formatierten Text über die Zwischenablage neu ins Formuar eingefügt und dabei sind die BBCode nicht mehr angezeigt worden.
    Nun habe ich auch gesehen wo man dies erneut aktiviert.

    Linker Argument: /VERSION:"2.0"

    Versuchs mal mit /VERSION:2.0 oder "/VERSION:2.0"

    Die Optionen lassen nur begrenz Varianten zu. Ich habe alles ausprobiert, was für mich möglich was, jedoch ohne Erfolg.

    Mal davon abgesehen dass ich nicht weiss warum man die "image version" ändern wollen würde.
    (Dir ist klar dass da nicht die Version deines Programms reingehört, ja?)

    Im MSDN steht:

    The /VERSION option tells the linker to put a version number in the header of the .exe or .dll file.

    Somit sollte ich ja da auch die Version meines Programms eintragen dürfen.
    Bei VC++ 6 hat es ja auch immer funktioniert.

    mfg
    Reto Felix



  • Ochja, dürfen darfs du schon.
    Macht aber keiner, normalerweise verwendet man dafür ne VERSION Resource (=> .rc File).
    Die wird dann nämlich auch vom Explorer korrekt gelesen und angezeigt. Und man kann viel mehr reinschreiben als bloss xx.yy, nämlich z.B. den Produktnamen, Firmennamen, Copyricht etc.

    BTW: Hast du nachgesehen ob's bei VS 2010 vielleicht gar einen eigenen Eintrag für die ImageVersion gibt? Falls ja, dann würde es mich nicht wundern wenn der Linker den zusätzlichen /VERSION Switch einfach ignoriert.


Anmelden zum Antworten