2012-04-04 1 views
1

У меня есть простой скрипт inno-setup, который позволяет моей установке установить либо 32-битную, либо 64-битную версию моей программы на основе значения Is64BitInstallMode. Это отлично работает, но я хотел бы предоставить пользователям возможность установки 32-битной версии, даже если они находятся на 64-битной Windows. Я бы хотел, чтобы выбор был сделан до выбора пути установки приложения, чтобы он мог по умолчанию использовать 32-битную или 64-битную папку программных файлов по их выбору. Я также хотел бы избежать вопроса полностью, если они находятся на 32-битных окнах. Я играл с различными функциями, но пока не решил, как это сделать. Если я не могу сделать это легко, я просто сделаю две отдельные установки (и я пытаюсь решить, что имеет наибольший смысл!) Любые предложения очень ценятся!Позвольте пользователю установить 32-битную версию на 64-битных окнах

ответ

2

Я на самом деле не сделал еще следующее, но это то, что я хотел бы попробовать:

  1. Вам нужна новая страница установки, которая позволяет пользователю выбрать, следует ли устанавливать 32-разрядный или 64-разрядная версия (эта страница должна отображаться только на 64-битной Windows)
  2. Вам нужна переменная, содержащая индикатор для «биттичности», который пользователь выбрал. Он должен быть инициализирован 32-битным 32-битным системами и 64-битным по 64-битным системам в зависимости от Is64BitInstallMode.
  3. После того, как страница в 1. завершена, вы должны обновить переменную, созданную в 2., со значением, которое отражает выбор пользователя.
  4. Добавить файлы как для 32-битной и 64-битной версии установщику
  5. Добавить новую функцию, которая возвращает true, если 64-битная версия должна быть установлена ​​(например, Install64BitVersion)
  6. Добавить новую функцию, которая возвращает true, если 32-битной версии должно быть установлено (например Install32BitVersion)
  7. Измените File записей в разделе Files быть установлены условно:

Это экс mple для секции Files:

[Files] 
Source: 32bitexe.exe; DestDir: {...}; Check: Install32BitVersion 
Source: 64bitexe.exe; DestDir: {...}; Check: Install64BitVersion 
+0

Спасибо, я вижу еще один ответ от вас относительно создания пользовательских страниц, так что я буду экспериментировать с идеей пользовательских страниц. Любые мысли об изменении каталога назначения по умолчанию, прежде чем показывать эту страницу? – MarkF

+0

На самом деле, вы должны рассмотреть возможность его изменения * после * отображения страницы. Я не упоминал об этом, так как не уверен, что это проблема, когда 32-разрядное приложение установлено в 64-битной папке с программными файлами. –

+0

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

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