Изменение версии продукта в Wix - PullRequest
0 голосов
/ 26 апреля 2018

Я пытаюсь связать версию файла из моего exe-файла для использования в качестве версии продукта. Следующее: Как установить версию установщика WiX на текущую версию сборки?

Проблема в том, что моя сборка построена в формате, например, 2018.0.0.0. Для основного обновления требуется номер версии максимум 255, что означает, что мне нужно удалить первые два числа из моей переменной productVersion, прежде чем установить для нее свойство ProductVersion. Есть ли способ изменить переменную через xsl или что-то еще?

Изменение с помощью настраиваемого действия не является альтернативой, так как я хочу, чтобы свойство было установлено в MSI-файле.

Любая помощь в этом джунглях приветствуется,

 <?define productVersion= !(bind.FileVersion.MyExe.Exe) ?>

 <Product Id="*" 
       UpgradeCode="12345678-1234-1234-1234-123456789123" 
       Name="My Application" 
       Language ="1033" 
       Version="$(var.productVersion)"
       Manufacturer="My Company" >

1 Ответ

0 голосов
/ 27 апреля 2018

Если вы не можете связать / сделать вывод из вашей сборки, тогда вам нужно будет, чтобы ваша автоматизация сборки передала переменную wix в свечу и использовала ее вместо оператора связывания.

В среде управляемого кода / vsts / tfs мой типичный ход состоит в том, что определение сборки является источником истины, и оно увеличивает и устанавливает номер сборки во время сборки. Сценарий powershell обновляет все атрибуты AssemblyFileVersion в моих файлах AssemblyInfo, основываясь на этом, и мой wixproj (votive / msbuild) выполняет регулярное выражение для этой переменной, чтобы передать его свече.

...