Как условно установить файл с WiX на целевой машине (32-битной или 64-битной)? - PullRequest
6 голосов
/ 08 апреля 2009

У меня есть файл, который имеет 32-битную версию и 64-битную версию. Если я устанавливаю свое приложение на 32-битную машину, я хочу установить 32-битную версию файла. Аналогично, 64-битная версия должна быть установлена, если установка выполняется на 64-битной машине. Как проверить, на каком типе компьютера работает программа установки с WiX?

Пожалуйста, никаких однострочных ответов. Я ищу определенные теги WiX и где их разместить в моем скрипте WiX.

Ответы [ 3 ]

4 голосов
/ 09 апреля 2009

Вы можете , вероятно, просто сделать два отдельных компонента, используя условия

 VersionNT64

и

 Not VersionNT64

Но правильный способ состоит в том, чтобы скомпилировать отдельные установщики для 32- и 64-разрядных ОС, и 64-разрядные компоненты также должны быть помечены как таковые (Win64="yes") - я не знаю, можно ли вообще пометить установщик Windows пакет, ориентированный как на Intel, так и на x64. Единственный раз, когда я выполнял установку со смешанной архитектурой, с NSIS, все мои установщики WiX имеют отдельные установщики для каждой архитектуры.

2 голосов
/ 08 апреля 2009

Правильный способ сделать это - скомпилировать две установки, одну для 32 (x86) и одну для 64 (amd64). Затем вы упаковываете эти две msi в одну msi и запускаете соответствующую во время выполнения.

0 голосов
/ 22 апреля 2012

Вы можете создать базовый файл wxs, используя переменные окружения или препроцессора, и заполнить необходимые атрибуты перед компиляцией. Другим вариантом будет запуск сценария перед сборкой, который включает в себя различные идентификаторы GUID в файле для конкретной установки. Короче говоря, я не думаю, что существует простой способ создания установщиков для разных архитектур, поэтому вам придется использовать дополнительные утилиты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...