¿Cómo puedo configurar la versión del instalador de WiX para la versión de comstackción actual?

Escribí una aplicación y su instalador de WiX y lo puse bajo control de versión usando subversión. Cuando se construye el instalador de WiX, quiero que su número de versión sea la versión de comstackción actual de la aplicación. ¿Cómo logro esto? Usé c # para codificar la aplicación.

NB estoy usando ccnet para construir este proyecto

Puede usar Product / @ Version = “! (Bind.FileVersion.FileId)” (reemplace FileId con el Id del archivo del que desea obtener el número de versión) y light.exe rellenará el valor con la versión del archivo al que hace referencia FileId .

Hice esto en uno de mis proyectos al escribir una extensión de preprocesador para leer la versión del archivo desde mi ejecutable. Entonces, el archivo WiX tiene el siguiente aspecto:

     

Publiqué el código para en CodePlex: http://wixfileversionext.codeplex.com/

Esta es una forma muy sencilla de hacer que su versión del paquete Bootstrapper coincida con su MyApp AssemblyVersion usando un BeforeBuild Target DefineConstants y DefineConstants .

Bundle.wxs:

  

Bootstrapper.wixproj:

      BuildVersion=%(AssemblyVersion.Version)   

En caso de que alguien esté buscando un ejemplo XML real, esto funciona con ensamblados .NET (y no tiene que hacer los atributos Assembly o KeyPath). Eliminé el código no relacionado con […] titulares de lugar:

   [...]      [...]  [...]      

Esto se ve razonablemente cerca de lo que estás tratando de lograr. Vea cuál es el equivalente en el control de crucero.

http://www.ageektrapped.com/blog/setting-properties-for-wix-in-msbuild/