Wie kann ich bedingt eine Datei installieren, die mit WiX basiert auf dem Ziel-Rechner (32bit oder 64bit)?

StackOverflow https://stackoverflow.com/questions/730534

  •  06-09-2019
  •  | 
  •  

Frage

Ich habe eine Datei mit einer 32-bit version und eine 64-bit-version.Wenn ich meine Anwendung auf einem 32-bit-Maschine, möchte ich die 32-bit-version der Datei installiert werden.Ebenso ist die 64-bit-version sollte installiert werden, wenn die installation auf einem 64bit-Maschine.Wie kann ich überprüfen, welche Art von Maschine das Installationsprogramm ausgeführt wird, die mit WiX?

Bitte keine one-line-Antworten.Ich bin auf der Suche nach bestimmten WiX-tags und wo Sie zu setzen in meiner WiX-Skript.

War es hilfreich?

Lösung

Sie könnten wahrscheinlich tun Sie einfach zwei separate Komponenten, mit den Bedingungen

 VersionNT64

und

 Not VersionNT64

Aber der richtige Weg ist, um zu kompilieren separate Installationsprogramme für 32-und 64-bit-Bs und 64-bit-Komponenten sollten auch als solche gekennzeichnet sein (mit Win64="yes") - Ich weiß nicht, ob es überhaupt möglich ist, zu markieren, ein Windows Installer-Paket zielt auf Intel-und x64.Nur die Zeit, die ich je gemacht habe, eine gemischte Architektur-installation ist mit NSIS, alle meine WiX-Installationsprogramme verfügen über separate Installationsprogramme für jede Architektur.

Andere Tipps

Der richtige Weg, dies zu tun ist das kompilieren von zwei setups, eine für 32 - (x86) und eine für 64 (amd64).Dann Paket die zwei msi-innerhalb einer einzigen msi und führen Sie die entsprechende Laufzeit.

Sie können eine Basis wxs-Datei, die mithilfe Umwelt-oder Präprozessor-Variablen und füllen Sie die erforderlichen Attribute, die vor dem kompilieren.Eine andere option wäre, ein Skript ausgeführt, bevor der build, mit verschiedenen GUIDs, die in der Datei zur installation.Kurz gesagt, ich glaube nicht, dass es eine einfache Möglichkeit von Gebäude die Installationsdateien für die verschiedenen Architekturen, so dass Sie haben zu verwenden Sie zusätzliche Dienstprogramme.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top