Нужно ли учитывать настройки Inno в 64-битной Windows? - PullRequest
2 голосов
/ 10 ноября 2011

У нас есть древнее приложение VB6, которое иногда нужно обновлять и устанавливать на компьютеры наших пользователей. Мы начали использовать Inno, и особенно InnoIDE, для создания setup.exe, чтобы установить его на ПК наших пользователей. Однако мне интересно узнать о 64-битной Windows и настройках Inno. У нас есть несколько машин, которые являются 64-битными версиями Windows 7 Professional. Я успешно установил наше приложение, используя установку из Inno, на 32-разрядную машину с Windows XP. Могу ли я использовать ту же настройку на наших 64-битных компьютерах с Windows 7? Будет ли он автоматически помещать файл .exe в структуру каталогов C: \ Program Files (x86) \ или мне нужно будет учитывать 64-разрядные версии Windows?

Ответы [ 2 ]

1 голос
/ 11 ноября 2011

Если ваше приложение только 32-битное, то Inno автоматически позаботится о том, чтобы все было правильно.

Только , если ваше приложение смешанное или 64-битное, вам нужно делать что-то особенное, как говорит Рашман. В файле справки есть очень хороший раздел , в котором объясняются необходимые изменения.

Если вы устанавливаете какие-либо 64-разрядные драйверы устройств, вызовы большинства точек входа newdev и setupapi завершатся с ошибкой с кодом 0xE0000235 (ERROR_IN_WOW64). Эти вызовы работают только при вызове из 64-битного кода, а Inno еще не компилирует 64-битные установщики. Вы можете обойти это, используя pnputil.exe , добавив 64-разрядный исполняемый файл-заглушку или переключившись на WiX .

.
1 голос
/ 10 ноября 2011

Для 64-битных INNO-инсталляций вам обычно нужно добавить только одну директиву раздела установки и, очевидно, добавить 64-битные версии DLL и EXE в скомпилированный установщик.

Директива раздела настройки:

ArchitecturesInstallIn64BitMode = 64

...