2012-08-17 15 views
7

In WIX, ich kann dies tun, um automatisch eine anständige Versionsnummer für meinen MSI zu erzeugen:Binden von WIX FileVersion-Unterwerten?

<?define ProductVersion="!(bind.FileVersion.MyMainExecutable)" ?> 
<Product Version="$(var.ProductVersion)" ... /> 

, die eine Zeichenfolge wie „1.0.1.0“ produziert, aber ich möchte nur die ersten drei Teile: „1.0.1 "

Wie kann ich das erreichen?

+0

mögliche Duplikate von [Wie kann ich die WiX-Installer-Version auf die aktuelle Build-Version einstellen?] (Http://stackoverflow.com/questions/626033/how-can-i-set-the-wix-installer-version -to-the-current-build-version) –

+0

Kein Duplikat. Ich habe schon die Antwort :) geprüft – l33t

Antwort

10

Es gibt keine Möglichkeit, nur die ersten drei Felder eines gebundenen FileVersion zu erhalten. wenn Sie in Ordnung sind die Zuordnung der vier Teil jedoch Version auf die Product/@Version (die vollständig gültig ist, obwohl erhebliche Verbesserungen nur in den ersten drei Felder aussehen wird), dann können Sie jeden Teil der Haupt-, Neben- zuzugreifen, bauen und Revision mit der folgende Variablen:

!(bind.property.ProductVersion.Major) 
!(bind.property.ProductVersion.Minor) 
!(bind.property.ProductVersion.Build) 
!(bind.property.ProductVersion.Revision) 

Hoffentlich kann das nützlich sein.

+1

So konnte ich den Titel meines Installer so etwas wie dieses Set? '" Mein Installer v! (Bind.property.ProductVersion.Major).! (Bind.property.ProductVersion.Minor).! (Bind.property.ProductVersion.Build) "' – l33t

+0

Ich glaube, 'WIX' sollte das Lesen der Version unterstützen Felder von Binärdateien. Z.B. '... TargetFileName.ProductVersion.Major' – l33t

+1

Ich glaube, Ihr erster Kommentar funktionieren soll. Der zweite Kommentar ist eine sinnvolle Feature-Anfrage. :) –