Я пытаюсь настроить установку и библиотеку WiX так, чтобы версия одного из файлов в библиотеке использовалась как Версия продукта / @ в установке.
Предпосылки
В настройке с файлами, определенными локально, это относительно просто, если предположить, что проект компонента ссылается на проект WiX, а затем настроен:
<Component Id="Company.Assembly" Guid="[GUID]">
<File Id="Company.AssemblyFile"
Name="Company.Assembly.dll" KeyPath="yes"
DiskId="1"
Source="$(var.Company.Assembly.TargetPath)" />
</Component>
Тогда версия продукта может быть установлена как
<Product Id="[GUID]"
Name="Product Name"
Language="1033"
Version="!(bind.FileVersion.$(var.Company.AssemblyFile
.TargetFileName))"
Manufacturer="Company Name"
UpgradeCode="[GUID]">
Проблема
Таким образом, после перемещения всех компонентов в проект библиотеки WiX стало невозможно напрямую ссылаться на переменную ! (Bind.FileVersion. $ (Var.Company.AssemblyFile.TargetFileName))
.
Я попытался настроить WixVariable в библиотеке
WixVariable Id="BuildVersion" Value="!(bind.FileVersion.Company.AssemblyFile)"/>
А затем сослаться на это из настройки
<Product Id="[GUID]"
Name="Product Name"
Language="1033"
Version="!(wix.BuildVersion)"
Manufacturer="Company Name"
UpgradeCode="[GUID]">
Безуспешно.
Требуется ли какой-либо дополнительный шаг или синтаксис в библиотеке или настройке, чтобы сделать WixVariable (или ее производную) доступной из настройки?