Puede pasar la versión al script de MSBuild para su proyecto de instalación de la misma manera que puede pasar el script de compilación de la aplicación.
Por ejemplo, si su sistema CI define variables AppVersion
y las BuildNumber
pasa a sus scripts MSBuild, su wixproj puede crear una Version
propiedad correspondiente que reenvía a Wix de esta manera:
<PropertyGroup>
<Version Condition=" '$(BuildNumber)' == '' ">0.0.1</Version>
<Version Condition=" '$(BuildNumber)' != '' ">$(AppVersion).$(BuildNumber)</Version>
<DefineConstants>Version=$(Version)</DefineConstants>
</PropertyGroup>
La primera definición de Version
proporciona un valor predeterminado para cuando está construyendo localmente. Cualquier cosa que termine se convierte en una Version
variable en Wix. Úselo en un archivo wsx como este:
<Product Version="$(var.Version)" ...>
<Package Description="$(var.ProductName) $(var.Version): $(var.ProductDescription)" ... />
Me gusta incluir la versión en la descripción para que sea fácil buscar desde el Explorador de Windows (como una columna en la Vista de detalles o en la página de Propiedades) independientemente del nombre del archivo.
Pasar la versión como una variable le da más control que leerlo desde un archivo. Cuando lee de un archivo, obtiene las 4 partes de la versión programática. Sin embargo, ProductVersion solo está diseñado para usar las primeras 3 partes.