Ви можете передати версію до сценарію MSBuild для вашого проекту налаштування таким же чином, як і для сценарію збирання програми.
Наприклад, якщо ваша система CI визначає змінні AppVersionта BuildNumberпередає їх вашим скриптам MSBuild, ваш wixproj може створити відповідну Versionвластивість, яку він пересилає до Wix так:
<PropertyGroup>
<Version Condition=" '$(BuildNumber)' == '' ">0.0.1</Version>
<Version Condition=" '$(BuildNumber)' != '' ">$(AppVersion).$(BuildNumber)</Version>
<DefineConstants>Version=$(Version)</DefineConstants>
</PropertyGroup>
Перше визначення Versionпропонується за замовчуванням, коли ви будуєте локально. Все, що закінчується, стає Versionзмінною в Wix. Використовуйте його у файлі wsx таким чином:
<Product Version="$(var.Version)" ...>
<Package Description="$(var.ProductName) $(var.Version): $(var.ProductDescription)" ... />
Мені подобається включати версію в опис, щоб її легко було знайти за допомогою Провідника Windows (як стовпець у поданні «Деталі» або на сторінці «Властивості») незалежно від імені файлу.
Передача версії як змінної дає більше контролю, ніж читання її з файлу. Коли ви читаєте з файлу, ви отримуєте всі 4 частини програмної версії. Однак ProductVersion призначений лише для використання перших 3 частин.