Как условно установить компоненты на основе типа архитектуры процессора (32-разрядная или 64-разрядная)?
Привет,
Я использую InstallShield 2009, базовый проект MSI, и мне нужно установить некоторые файлы условно на основе типа архитектуры процессора (32-разрядная или 64-разрядная). Я создал два отдельных компонента FILES64 и FILES32, которые содержат необходимые файлы и должны копировать файлы условно на INSTALLDIR.
т.е.
IF (32-битный) ЗАТЕМ
УСТАНОВКА FILES32
ЕЩЕ
УСТАНОВКА FILES64
Я попытался выбрать свойство Condition компонента с помощью диалогового окна Condition. Однако я не могу найти свойство installshield, которое указывает 32-разрядную или 64-разрядную версию. Может ли кто - нибудь помочь здесь?
Спасибо,
ЦБ
Sergey Alexandrovich Kryukov
Это определенная проблема, но вполне разрешимая. Посмотрите: есть много жалоб на InstallShield (который я никогда не использовал). Microsoft удаляет свой тип и шаблон "проект установки" из пакета Visual Studio.
Единственное полностью законное программное обеспечение для установки, которое я вижу сейчас,-это Microsoft WiX с открытым исходным кодом (совместимый с MSBuild и даже подключенный к VS). Я знаю, как сделать все это в WiX (что действительно потребует некоторого поиска или ответа). Поэтому, если вы согласитесь перейти на WiX, что я настоятельно рекомендую, я с удовольствием поделюсь исчерпывающей информацией о платформозависимой установке.
Это двояко: вы делаете это в зависимости от доступных архитектур набора целевых команд продукта, от архитектуры целевой машины или от того и другого.
—СА
[no name]
Большое спасибо за ваш ответ, СА! Мне, конечно, было бы интересно узнать больше о Microsoft WiX. Пожалуйста, поделитесь этой информацией.
Пожалуйста, обратите внимание, что ниже приведены два наиболее важных требования к моей настройке:
1) программа установки будет нуждаться в разрешениях администратора и должна иметь возможность вносить изменения в мою папку TARGETDIR. Во время установки мне нужно предоставить разрешения на чтение/запись в папку TARGETDIR, так как там будет находиться моя база данных приложений (SQL CE).
2) необходимо скопировать определенные файлы в TARGETDIR на основе архитектуры процессора (32-разрядной или 64-разрядной).
Спасибо,
ЦБ
Sergey Alexandrovich Kryukov
Оба ваших требования легко удовлетворяются WiX. В других системах установки некоторые вещи, подобные этому, требуют пользовательских шагов, но в WiX предопределенные действия включают такие вещи, как установка разрешений на любой объект файловой системы, разрешение установленной программе работать через Брандмауэр Windows и многое другое. Все действия могут быть предметом проверки архитектуры набора команд продукта и/или целевого компьютера (x86, x86-86, Itanium (IE64)).
Вы должны дать мне некоторое время, чтобы взять мой проект WiX, чтобы указать на те моменты, которые вас интересуют. Я буду очень занят всю следующую неделю, но постараюсь найти время не раньше вечера воскресенья. Я не могу тратить время на то, чтобы дать вам общее пошаговое руководство по всем темам WiX; вы можете найти все это в оригинальной документации. Многие деликатные моменты не очень хорошо описаны, но я с удовольствием помогаю в тех, с которыми знаком.
—СА
[no name]
Большое спасибо, СА! Я уже погуглил о WiX, скачал и прочитал некоторую документацию о нем, но может потребоваться некоторое время, чтобы изучить и использовать его для моего развертывания. Я продолжу свою йогу на WiX, но, возможно, мне понадобится некоторая помощь по конкретным пунктам. Так что любая помощь будет очень признательна!
Sergey Alexandrovich Kryukov
Именно так. А пока смотрите мой первый ответ, на ваш первый пункт...
—СА