3

Я создаю проект установки Visual Studio 2010 для установки моего приложения. Мое приложение работает, имея несколько исполняемых файлов для различной битовой системы и обнаруживает, работает ли вы в 32-разрядной или 64-разрядной системе.Установить VC++ Runtime 64-бит, если система 64-разрядная

Я хочу, чтобы Visual C++ 2010 x64 Runtime устанавливался установщиком, если это 64-разрядная система. Установив это как необходимое условие, отключает установку в 32-разрядных системах. Есть ли способ установить это как предварительное условие, но только на 64-битных системах, не прибегая к двум различным установщикам?

ответ

2

Вам необходимо создать отдельные файлы MSI для 64-разрядной версии и 32-разрядной версии для решения специальностей WOW64.

Это не возможно иметь один единственный MSI установить как 64-разрядные и 32-разрядная версия:

Different Packages are Required for Different Processor Architectures

Потому что вы будете иметь отдельные MSI-файлы он должен легко добавить 64-разрядные VC++ Runtime Redistributables в 64-разрядные MSI и 32-разрядные в 32-разрядную MSI соответственно.

Конечно, вы можете создать загрузчик, который проверяет системную архитектуру, а затем запускает соответствующий файл MSI. Я считаю, dotNetInstaller предлагает такой механизм, как указано в related question.

+0

Как это сделать в VS2010? Могу ли я создать два проекта установки и установить 32-разрядный установщик в 64-разрядный установщик? Если да, то как это сделать, чтобы установить 64-разрядную версию в зависимости от бита системы? –

+0

Я думаю, что мое решение состоит в том, чтобы отказаться от требования x64 во время установки. Когда вы запустите программу, я попрошу пользователя загрузить и установить правильный пакет (прямая ссылка), чтобы программа работала правильно. На более позднем этапе я мог бы добавить более оптимизированный подход, который автоматически загружает и устанавливает его (с разрешения пользователя, конечно). –

Смежные вопросы