Я пытаюсь настроить настройку и библиотеку 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 (или некоторый вывод этого) доступным из настройки?