Ссылка на WixVariable, определенную в проекте библиотеки WiX, из проекта настройки WiX

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

23
задан Michael Phillips 6 December 2011 в 13:43
поделиться