Você pode passar a versão para o script MSBuild para o seu projeto de instalação da mesma forma que pode passar para o script de compilação do aplicativo.
Por exemplo, se o seu sistema de IC define variáveis AppVersion
e as BuildNumber
transmite aos scripts do MSBuild, seu wixproj pode criar uma Version
propriedade correspondente que encaminha para o Wix assim:
<PropertyGroup>
<Version Condition=" '$(BuildNumber)' == '' ">0.0.1</Version>
<Version Condition=" '$(BuildNumber)' != '' ">$(AppVersion).$(BuildNumber)</Version>
<DefineConstants>Version=$(Version)</DefineConstants>
</PropertyGroup>
A primeira definição de Version
fornece um padrão para quando você está construindo localmente. Tudo o que acaba se torna uma Version
variável no Wix. Use-o em um arquivo wsx como este:
<Product Version="$(var.Version)" ...>
<Package Description="$(var.ProductName) $(var.Version): $(var.ProductDescription)" ... />
Eu gosto de incluir a versão na descrição, para que seja fácil procurar no Windows Explorer (como uma coluna na exibição Detalhes ou na página Propriedades) independentemente do nome do arquivo.
Passar a versão como uma variável oferece mais controle do que lê-la em um arquivo. Ao ler de um arquivo, você obtém todas as 4 partes da versão programática. No entanto, ProductVersion foi projetado apenas para usar as três primeiras partes.