Tengo problemas al migrar el código administrado de la plataforma x86 a x64. Tengo un proyecto de WiX para crear un MSI que se ejecutará a través de Bootstrapper.Identificación de plataforma en WiX 3.0
En una plataforma x86, los archivos se copian en "Archivos de programa" según el archivo Project.wxs. Pero si el mismo MSI está instalado en una plataforma x64 a través de Bootstrapper, todos los archivos de instalación se copian por defecto en "Archivos de programa (x86)" y la funcionalidad de la aplicación falló ya que no pudo encontrar los archivos necesarios en la jerarquía de 12 Archivos de programa (para 64 bits es "C: \ Archivos de programa \ Archivos comunes \ Microsoft Shared \ web server extensions \ 12 \ CONFIG").
He intentado usar variables de preprocesador como <? If $ (var.ProcessorArchitecture) = x64?>, Pero necesito codificar esta variable en la propiedad del proyecto en x86 o x64. Finalmente termino con dos MSI diferentes para dos plataformas diferentes, lo que no es una solución deseable para mí.
Entonces, a través de WiX, ¿es posible identificar la plataforma para garantizar la instalación en la ubicación deseada?
En WiX 3, se desaconseja el uso del atributo de plataforma.Recomiendan dejarlo fuera y usar el interruptor '-arch' para la vela en su lugar. http://wix.sourceforge.net/manual-wix3/wix_xsd_package.htm – Chris
Puede necesitar usar sys.BUILDARCH en lugar de var.Platform. –