tag - Instalador Wix: ¿cómo puedo mostrar el valor de[Fabricante] en la ruta de instalación?
metaetiqueta wix (2)
Estoy tratando de crear un instalador con una interfaz de usuario, usando WiX.
Mi INSTALLFOLDER se configura utilizando esto:
<Directory Id="TARGETDIR"
Name="SourceDir">
<Directory Id="ProgramFiles64Folder">
<Directory Id="ManufacturerFolder"
Name="[Manufacturer]">
<Directory Id="INSTALLFOLDER"
Name="[ProductName]" />
</Directory>
</Directory>
</Directory>
En la sección <Producto>, estoy definiendo:
<UIRef Id="WixUI_InstallDir" />
<UIRef Id="WixUI_ErrorProgressText" />
<Property Id="WIXUI_INSTALLDIR"
Value="INSTALLFOLDER" />
Cuando ejecuto el instalador y llego al panel Carpeta de destino, veo:
Install Service to:
C:/Program Files/[Manufacturer]/[ProductName]/
¿Cómo puedo hacer que evalúe las variables para mostrar?
Nota : si los dejo y hago clic en Siguiente, Instalar y Finalizar funciona. Simplemente se ve mal.
Defina sus variables en un archivo de configuración.
Por ejemplo, cree un archivo llamado config.wxi que contenga lo siguiente:
<?xml version="1.0" encoding="utf-8"?>
<Include>
<?define Manufacturer = "Company Name" ?>
<?define ProductName = "Product Name" ?>
</Include>
Luego haga referencia a las variables en su archivo .wxs usando $(var.Manufacturer)
y $(var.ProductName)
.
Las variables de la carpeta pueden hacer esto muy fácil sin necesidad de perder la definición de las variables del preprocesador. Sería mucho como esto:
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFiles64Folder">
<Directory Id="ManufacturerFolder" Name="!(bind.property.Manufacturer)">
<Directory Id="INSTALLFOLDER" Name="!(bind.property.ProductName)" />
</Directory>
</Directory>
</Directory>
La sintaxis !(bind.)
Está documentada en el tema Linker (light)
en WiX.chm.