Comment puis-je installer conditionnellement un fichier Wix basé sur la machine cible (32 bits ou 64 bits)?

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

  •  06-09-2019
  •  | 
  •  

Question

J'ai un fichier qui a une version 32 bits et une version 64 bits. Si j'installer mon application sur une machine 32 bits, je veux la version 32 bits du fichier à installer. De même, la version 64 bits devrait s'installer si l'installation est exécuté sur une machine 64 bits. Comment puis-je vérifier quel type de machine le programme d'installation est en cours d'exécution sur Wix?

S'il vous plaît, pas de réponse d'une ligne. Je suis à la recherche des balises Wix spécifiques et où les mettre dans mon script Wix.

Était-ce utile?

La solution

Vous pourriez probablement faire juste deux composants séparés, en utilisant les conditions

 VersionNT64

et

 Not VersionNT64

Mais la bonne façon est de compiler des installateurs distincts pour les 32 et 64 bits systèmes d'exploitation et des composants 64 bits devrait également être marqué en tant que telle (avec Win64="yes") - Je ne sais pas s'il est encore possible de marquer un package Windows Installer comme ciblé vers Intel et x64. Seul le temps que j'ai jamais fait une installation d'architecture mixte est avec NSIS, tous mes installateurs Wix ont des installateurs séparés pour chaque architecture.

Autres conseils

La bonne façon de le faire consiste à compiler deux configurations, l'une pour 32 (86) et une pour 64 (amd64). Ensuite, vous emballez ces deux msi à l'intérieur d'un seul msi et exécutez celui qui est approprié à l'exécution.

Vous pouvez créer un fichier wxs de base en utilisant des variables d'environnement ou préprocesseur et remplir les attributs nécessaires avant de compiler. Une autre option serait en cours d'exécution d'un script avant la construction qui comprend différents GUID dans le fichier pour une installation spécifique. Bref, je ne pense pas qu'il y ait un moyen simple d'installateurs de construction pour différentes architectures, vous devez donc utiliser des utilitaires supplémentaires.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top