windows - Hvordan installerer jeg betinget en fil med WiX baseret på målmaskinen (32bit eller 64bit)?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har en fil, der har en 32bit-version og en 64bit-version. Hvis jeg installerer min ansøgning på en 32bit-maskine, vil jeg gerne have 32bit-versionen af ​​filen installeret. På samme måde skal 64bit-versionen installeres, hvis installationen køres på en 64-bit-maskine. Hvordan kontrollerer jeg hvilken type maskine installationsprogrammet køres på med WiX?


Venligst ingen svar på en linje. Jeg søger bestemte WiX-tags og hvor de skal placeres i mit WiX-script.

Bedste reference


Du kan sandsynligvis bare lave to separate komponenter ved hjælp af betingelserne


 VersionNT64


og


 Not VersionNT64


Men den rigtige måde er at kompilere separate installatører til 32 og 64 bit OS'er og 64-bit komponenter skal også markeres som sådan (med Win64="yes") - Jeg ved ikke, om det er muligt at markere en Windows Installer-pakke som målrettet mod både Intel og x64. Kun tid, jeg har nogensinde gjort en blandet arkitekturinstallation, er hos NSIS, har alle mine WiX-installatører separate installatører til hver arkitektur.

Andre referencer 1


Den rigtige måde at gøre det på er at kompilere to opsætninger, en til 32 (x86) og en til 64 (amd64). Derefter pakker du de to msi i en enkelt msi og kører den rette ved kørsel.

Andre referencer 2


Du kan oprette en base wxs fil ved hjælp af miljø eller præprocessor variabler og udfylde de nødvendige attributter før kompilering. En anden mulighed ville være at køre et script før bygningen, der indeholder forskellige GUID'er i filen til specifik installation.
Kort sagt, jeg tror ikke, at der er en enkel måde at opbygge installatører på for forskellige arkitekturer, så du skal bruge yderligere værktøjer.