запуск правильного установщика для 32- и 64-битных приложений - PullRequest
3 голосов
/ 20 октября 2010

У нас есть приложение, которое по разным причинам должно быть скомпилировано как 32-битное и 64-битное приложение. Дело в том, что мы хотим распространять оба установочных файла (msi) на одном CD. Есть ли условие запуска или запись autorun.inf, которую мы можем использовать, чтобы узнать, какой setup.exe запустить? Или нам нужно написать отдельный маленький исполняемый файл, который вызывается автозапуском и который определяет ОС и вызывает соответствующий setup.exe?

Ответы [ 2 ]

1 голос
/ 25 декабря 2010

Вы можете использовать настраиваемое действие для определения ОС, а затем вызвать нужного установщика.

Я привел пример здесь: Один MSI для установки правильного 32 или 64-битного приложения c #

1 голос
/ 20 октября 2010

Кажется, что нет никакой поддержки 32/64-битного обнаружения, присущей файлам autorun.inf .

Соглашение о том, что большинство приложений, предоставляющих 32- и 64-битные MSI, аналогично второму варианту, который вы упомянули.

  1. Создайте одно 32-битное приложение setup.exe (чтобы оно работало на любой платформе). В идеале это должно быть написано на C / C ++, чтобы оно было как можно меньшим и быстрым и не зависело от других библиотек / сред (например, со статической связью).
  2. Определите, работаете ли вы на 64-битной или нет (см. Пример кода для Windows API IsWow64Process function
  3. Выполнить соответствующий MSI
...