2012-08-17 6 views
7

In WIX, posso fare questo per generare automaticamente un numero di versione decente per il mio MSI:Associazione di valori secondari di WIX FileVersion?

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

che produce una stringa come "1.0.1.0" Ma io voglio solo i primi tre parti: "1.0.1 "

Come posso realizzare questo?

+0

possibile duplicato di [Come posso impostare la versione del programma di installazione WiX sulla versione build curenta?] (Http://stackoverflow.com/questions/626033/how-can-i-set-the-wix-installer-version-version -to-the-curent-build-version) –

+0

Non un duplicato. Ho già esaminato la risposta :) – l33t

risposta

10

Non c'è un modo per ottenere solo i primi tre campi di un limite FileVersion. Tuttavia, se si sta procedendo all'assegnazione della versione a quattro parti allo Product/@Version (che è completamente valida, sebbene gli aggiornamenti principali riguarderanno solo i primi tre campi), sarà possibile accedere a ciascuna parte di maggiore, minore, compilazione e revisione utilizzando il seguenti variabili:

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

Speriamo che possa essere utile.

+1

Quindi potrei impostare il titolo del mio installer su qualcosa di simile? "My Installer v! (Bind.property.ProductVersion.Major).! (Bind.property.ProductVersion.Minor).! (Bind.property.ProductVersion.Build)" ' – l33t

+0

Credo che' WIX' dovrebbe supportare la lettura della versione campi di binari. Per esempio. '... TargetFileName.ProductVersion.Major' – l33t

+1

Credo che il tuo primo commento dovrebbe funzionare. Il secondo commento è una richiesta ragionevole di funzionalità. :) –

Problemi correlati