Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Ungültige VersionsInfo in DProj seit Delphi XE2 (https://www.delphipraxis.net/165583-ungueltige-versionsinfo-dproj-seit-delphi-xe2.html)

Christoph Schneider 6. Jan 2012 18:01

Ungültige VersionsInfo in DProj seit Delphi XE2
 
Ich bin am Mirgrieren meines Projekts von XE auf XE2 und habe ein Problem mit meinem selbst gestrickten Builder.
Bis anhin las ich vor dem Bilden die Product-Version aus dem DPROJ-XML-File mit folgender XPath-Klausel:
Code:
Project/ProjectExtensions/BorlandProject/Delphi.Personality/VersionInfoKeys/VersionInfoKeys[@Name="ProductVersion"]
Seit XE2 scheint diese VersionInfoKeys zwar noch vorhanden zu sein, wird bei Änderungen aber nicht mehr aktualisiert.
Ich nehme an, XE2 holt neu die Informationen neu direkt aus dem Projekt.res-File. Hat jemand eine Idee, wie man einfach wieder an diese Versions-Infos gelangt?

Danke für gute Tips!
Christoph

himitsu 6. Jan 2012 18:38

AW: Ungültige VersionsInfo in DProj seit Delphi XE2
 
Indem du die RES ausliest? (irgendwo in der DP wurde letztes Jahr dieses besprochen)

Oder die EXE auslesen (dazu findet man noch mehr)

Uwe Raabe 6. Jan 2012 18:44

AW: Ungültige VersionsInfo in DProj seit Delphi XE2
 
XE2 verwendet eine Vererbungshierarchie der VersionsInfo innerhalb der Build-Konfigurationen. Daher ist die Versionsinfo abhängig von der gewählten Build-Konfiguration. Folglich hat sich auch der Zugriffspfad entsprechend geändert bzw. ist nicht mehr statisch.

Christoph Schneider 6. Jan 2012 20:30

AW: Ungültige VersionsInfo in DProj seit Delphi XE2
 
Dass die Konfiguration neu noch mehr vererbt wird, ist mir klar. Neue (geänderte)Versionsinformationen finde ich aber niergends mehr im XML Tree.
Weiss jemand, ob dies eine gewollte Projektfile-Umstellung ist, oder ob dies mit einem Update später wieder geändert wird? Das Res-file auszuwerten scheint mir etwas aufwenig. Das Exe habe ich zum Zeitpunt, wo ich diese Info benötige, noch nicht kompiliert.

USchuster 6. Jan 2012 21:55

AW: Ungültige VersionsInfo in DProj seit Delphi XE2
 
Zitat:

Zitat von Christoph Schneider (Beitrag 1144731)
Dass die Konfiguration neu noch mehr vererbt wird, ist mir klar. Neue (geänderte)Versionsinformationen finde ich aber niergends mehr im XML Tree.

Code:
         <VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>

Zitat:

Zitat von Christoph Schneider (Beitrag 1144731)
Weiss jemand, ob dies eine gewollte Projektfile-Umstellung ist, oder ob dies mit einem Update später wieder geändert wird? Das Res-file auszuwerten scheint mir etwas aufwenig. Das Exe habe ich zum Zeitpunt, wo ich diese Info benötige, noch nicht kompiliert.

Gelesen habe ich nichts diesbezüglich, jedoch gehe ich nicht davon aus das sich an der Speicherung noch der Vererbung etwas ändert in Bezug auf die Versionsinfo.

Uwe Raabe 6. Jan 2012 22:32

AW: Ungültige VersionsInfo in DProj seit Delphi XE2
 
Ich verwende nur eine einzige Einstellung für die VersionsInfo in "Alle Konfigurationen", welche in der dproj unter "<Project...><PropertyGroup Condition="'$(Base)'!=''"><VerInfo_Keys>" (und ähnliche) zu finden ist.

Wenn man allerdings ein Projekt von einer älteren Version hochzieht, muss man die überflüssigen Einträge in den anderen Konfigurationen erst manuell entfernen.

Christoph Schneider 13. Jan 2012 17:56

AW: Ungültige VersionsInfo in DProj seit Delphi XE2
 
Besten Dank für die hilfreichen Tips! Die Versions-Info befinden auch in meinem Projekt neu unter
Code:
Project/PropertyGroup[@Condition ="''$(Base)''!=''''"]/VerInfo_Keys
und bei Veränderungen der abgleiteten Konfigurationen unter dem entsprechenden Konfigurationsnamen.

Verwirrend finde ich, dass bei nicht nur bei migrierten sondern auch bei neu erstellten Projekten der alte Pfad
Code:
Project/ProjectExtensions/BorlandProject/Delphi.Personality/VersionInfoKeys/VersionInfoKeys[@Name="ProductVersion"]
immer noch ins XML-Projekt-File eingefügt wird.

Insider2004 13. Jan 2012 18:31

AW: Ungültige VersionsInfo in DProj seit Delphi XE2
 
Ich habe die ganzen Probleme umgangen, indem ich alle Files einfach lösche. Bei mir ist nur die .dpr relevant. Den Rest betrachte ich als Microsoft-XML-MSBuild-Schrott. Also weg damit!

AliNehring 3. Jul 2013 16:22

AW: Ungültige VersionsInfo in DProj seit Delphi XE2
 
Ich verwende XE4, das Projekt ist aus einem alten Delphi5-Projekt konvertiert
Ich versuche, die Versionsinforationen zu ändern (z.B. von Datei- und Produktversion von 1.4.0.0 auf 1.5.0.0).
Ich habe die Empfehlung, aus der dproj-Datei die Versionsinformationen für verschiedene Konfigurationen zu löschen, befolgt.
In den Projekteigenschaften sehen alle Versionsinformationen richtig aus
Nach dem Erzeugen der DLL steht in der DLL eine alte Versionsinformation
In der RES-Datei finde ich die alte Versionsinformation
Auch wenn ich die RES-Datei lösche, wird eine neue mit der falschen Versionsinformation wieder erzeugt.
In der dproj-Datei stehen definitiv nirgends die falschen Versionsinformationen

Was kann ich tun ?

RWarnecke 3. Jul 2013 16:33

AW: Ungültige VersionsInfo in DProj seit Delphi XE2
 
Ich würde die Projektdatei in XE4 komplett neu erstellen und dieser neu erstellten Projektdatei die entsprechenden Units hinzufügen für die DLL. Dann noch in den Projektoptionen die entsprechenden Versionsinformationen eintragen und alle alten DCU-Dateien löschen. Danach das Projekt komplett neu erstellen und Du solltest die richtigen Versionsinformationen in der DLL angezeigt bekommen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:34 Uhr.
Seite 1 von 2  1 2      

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