Создать установщик с зависимостями для x64 и x86 - PullRequest
1 голос
/ 14 марта 2019

Я разрабатываю приложение на C #, которое имеет несколько зависимостей, одна из которых отличается в 32 или 64 битах.

Когда я компилирую приложение: вот результат компиляции

В папках x64 и x86 обнаружена та же зависимость (SQLite.Interop.dll), но файл для конкретной архитектуры (x86: 1223 КБ, x64: 1575 КБ).

Как сказано в заголовке, я хочу создать установщик для этого приложения с помощью установщика Visual Studo.

Когда я добавляю вывод программы в «Папку приложения», появляются все зависимости, кроме той, которая находится в папке x64 или x86. Как я могу добавить эту знаменитую зависимость в соответствии с архитектурой компьютера? Если мне нужно создать 2 разных установщика, как я могу просто добавить эту зависимость для каждого установщика?

Заранее спасибо!

1 Ответ

1 голос
/ 15 марта 2019

Битность : Для разных архитектур процессоров требуются разные пакеты .64-разрядные установщики могут устанавливать как 32-разрядные, так и 64-разрядные компоненты, 32-разрядные установки могут устанавливать только 32-разрядные компоненты.32-битные установки работают на 64-битных системах, но 64-битные пакеты не работают на 32-битных системах.Другими словами, вам нужны два различных установщика, один для 32-разрядных и один для 64-разрядных.

Включение файлов : я не используюэтот тип проекта (по причинам, которые будут понятны ниже), но вы сможете добавить файл вручную с помощью Right Click Project => Add => File..., а затем скомпилировать две отдельные настройки.

Настраиваемые действия : Остерегайтесь проблем с битностью при настраиваемых действиях при таргетинге на разные платформы.Обычно я создаю пользовательские действия, используя 32-битный код.


Инструменты развертывания : Существуют некоторые хорошо известные ограничения для VisualСтудия установщика проектов .Может быть, кратко рассмотрим другие, общие инструменты (краткий обзор возможностей различных инструментов развертывания).

Один источник : Advanced Installer делает что-то причудливое, позволяя нацеливать обе архитектуры с одним источником.Я не совсем уверен, что они делают, чтобы быть честным. Installshield имеет аналогичные конструкции .WiX может использовать переменные компилятора / препроцессорные конструкции (внизу) для достижения того же.


Ссылки :

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