Estoy tratando de configurar una biblioteca y configuración de WiX para que la versión de uno de los archivos de la biblioteca se use como la versión de producto/@ en preparar.Hacer referencia a una WixVariable definida en un proyecto de biblioteca WiX desde un proyecto de configuración de WiX
Antecedentes
En una instalación con los archivos definidos localmente esto es relativamente sencillo en el que, suponiendo el proyecto componente hace referencia el proyecto de WiX y luego configurar:
<Component Id="Company.Assembly" Guid="[GUID]">
<File Id="Company.AssemblyFile"
Name="Company.Assembly.dll" KeyPath="yes"
DiskId="1"
Source="$(var.Company.Assembly.TargetPath)" />
</Component>
A continuación, la versión del producto se puede establecer como
<Product Id="[GUID]"
Name="Product Name"
Language="1033"
Version="!(bind.FileVersion.$(var.Company.AssemblyFile
.TargetFileName))"
Manufacturer="Company Name"
UpgradeCode="[GUID]">
Edición
Así que se ha movido todos los componentes de un proyecto de biblioteca de WiX que ya no es posible hacer referencia directamente a la variable !(bind.FileVersion.$(var.Company.AssemblyFile.TargetFileName))
.
He intentado configurar un WixVariable en la biblioteca
WixVariable Id="BuildVersion" Value="!(bind.FileVersion.Company.AssemblyFile)"/>
y luego hacer referencia que a partir de la configuración
<Product Id="[GUID]"
Name="Product Name"
Language="1033"
Version="!(wix.BuildVersion)"
Manufacturer="Company Name"
UpgradeCode="[GUID]">
sin éxito.
¿Se necesita algún paso o sintaxis adicional en la biblioteca o en la configuración para hacer que WixVariable (o alguna derivación) sea accesible desde la configuración?
Gracias, respuesta muy completa. Curiosamente, también has respondido a mi pregunta de seguimiento sobre cómo escribir una variable en DefineConstants. –