Referenzieren einer WixVariable, die in einem WiX-Bibliotheksprojekt von einem WiX-Setup-Projekt definiert wurde

Ich versuche zu konfigurieren, dass ein WiX setup und die Bibliothek so, dass die version einer der Dateien in der Bibliothek verwendet wird, wie das Produkt/@Version in der setup.

Hintergrund

In einem setup mit den Dateien, die lokal definiert diese ist relativ unkompliziert, vorausgesetzt, die Komponente Projekt wird durch den WiX-Projekt und dann so konfiguriert:

  <Component Id="Company.Assembly" Guid="[GUID]">
    <File Id="Company.AssemblyFile"
          Name="Company.Assembly.dll" KeyPath="yes"
          DiskId="1"
          Source="$(var.Company.Assembly.TargetPath)" />
  </Component>

Dann die Produktversion kann so eingestellt werden,

  <Product Id="[GUID]"
           Name="Product Name"
           Language="1033"
           Version="!(bind.FileVersion.$(var.Company.AssemblyFile
                    .TargetFileName))"
           Manufacturer="Company Name"
           UpgradeCode="[GUID]">

Problem

Also nach dem Umzug alle Komponenten, um eine WiX-Bibliothek-Projekt ist es nicht mehr möglich, direkt auf den !(bind.FileVersion.$(var.Company.AssemblyFile.TargetFileName)) variable.

Ich habe versucht, die Konfiguration eines WixVariable in der Bibliothek

WixVariable Id="BuildVersion" Value="!(bind.FileVersion.Company.AssemblyFile)"/>

Und dann darauf verweisen, dass aus dem setup -

  <Product Id="[GUID]"
           Name="Product Name"
           Language="1033"
           Version="!(wix.BuildVersion)"
           Manufacturer="Company Name"
           UpgradeCode="[GUID]">

Ohne Erfolg.

Gibt es einige zusätzliche Schritt oder syntax erforderlich, entweder in der Bibliothek oder setup, um die WixVariable (oder eine Ableitung davon) zugänglich von dem setup?

InformationsquelleAutor der Frage Michael Phillips | 2011-12-06

Schreibe einen Kommentar