una tag poner metaetiquetas metaetiqueta etiquetas etiqueta encabezado como codigo agregar wix wix3.7

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.