Ich habe Probleme mit der Migration des verwalteten Codes von x86 auf x64-Plattform. Ich habe ein WiX-Projekt, um eine MSI zu erstellen, die über Bootstrapper ausgeführt wird.Plattform-Identifikation in WiX 3.0
Auf einer x86-Plattform werden Dateien in "Programme" wie in der Datei Project.wxs kopiert. Wenn jedoch dasselbe MSI auf einer x64-Plattform über Bootstrapper installiert wird, werden alle Installationsdateien standardmäßig in "Programme (x86)" kopiert, und die Funktionalität der Anwendung ist fehlgeschlagen, da die erforderlichen Dateien in der 12-Hierarchie-Hierarchie nicht gefunden wurden Programmdateien (für 64-bit ist es "C: \ Programme \ Gemeinsame Dateien \ Microsoft Shared \ Webserver-Erweiterungen \ 12 \ CONFIG").
Ich habe versucht, Preprozessor-Variablen wie <? If $ (var.ProcessorArchitecture) = x64?>, Aber ich muss diese Variable in der Projekt-Eigenschaft auf entweder x86 oder x64 fest codieren. Schließlich habe ich zwei verschiedene MSIs für zwei verschiedene Plattformen, was für mich keine wünschenswerte Lösung ist.
Also, durch WiX, ist es möglich, die Plattform zu identifizieren, um die Installation am gewünschten Ort zu gewährleisten?
In WiX 3 wird von der Verwendung des Plattformattributs abgeraten.Sie empfehlen, es wegzulassen und stattdessen den Schalter "-arch" für Kerze zu verwenden. http://wix.sourceforge.net/manual-wix3/wix_xsd_package.htm – Chris
Möglicherweise müssen Sie sys.BUILDARCH anstelle von var.Platform verwenden. –