134 votos

¿Cómo puedo ajustar el WiX instalador de la versión para la actual versión de compilación?

Escribí una aplicación y su WiX instalador y lo puso bajo el control de versiones uso de subversion. Cuando el WiX instalador construye quiero su número de versión a la actual versión de compilación de la aplicación. ¿Cómo puedo lograr esto? He usado c# el código de la aplicación.

N. B. estoy usando ccnet para construir este proyecto

179voto

Rob Mensching Puntos 20732

Usted podría utilizar Product/@Version="!(bind.FileVersion.FileId)" y light.exe rellenar el valor con la versión del archivo que hace referencia el FileId.

39voto

Chris Kaczor Puntos 326

Esto lo hice en uno de mis proyectos por escrito una extensión del preprocesador para leer la versión del archivo de mi ejecutable. Así WiX archivo se ve algo como:

<?define ProductName="$(fileVersion.ProductName($(var.MyApp.TargetPath)))" ?>
<?define CompanyName="$(fileVersion.CompanyName($(var.MyApp.TargetPath)))" ?>
<?define ProductVersion="$(fileVersion.ProductVersion($(var.MyApp.TargetPath)))" ?>
<Product 
    Id="<product ID>" 
    Name="$(var.ProductName)" 
    Version="$(var.ProductVersion)" 
    Manufacturer="$(var.CompanyName)" 
    Language="1033" 
    UpgradeCode="<upgrade code>">

He publicado el código en CodePlex: http://wixfileversionext.codeplex.com/

21voto

Brock Hensley Puntos 1720

He aquí una manera muy sencilla de obtener su Arranque Paquete de Versión para que coincida con su MyApp AssemblyVersion el uso de un BeforeBuild Target y DefineConstants.

Bundle.wxs:

<Bundle Name="$(var.ProductName) Bootstrapper v$(var.BuildVersion)"
     Version="$(var.BuildVersion)"

De arranque.wixproj:

<Target Name="BeforeBuild">
  <GetAssemblyIdentity AssemblyFiles="..\MyApp\bin\$(Configuration)\MyApp.exe">
    <Output TaskParameter="Assemblies" ItemName="AssemblyVersion" />
  </GetAssemblyIdentity>
  <PropertyGroup>
    <DefineConstants>BuildVersion=%(AssemblyVersion.Version)</DefineConstants>
  </PropertyGroup>
</Target>

3voto

JohnW Puntos 1882

Esto se ve razonablemente cerca de lo que usted está tratando de lograr. Ver lo que el equivalente es en el control de crucero.

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

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X