Ви можете передати версію до сценарію 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 частин.