32-разрядная 64-разрядная справка установщика - PullRequest
0 голосов
/ 01 апреля 2011

Нужна помощь в создании 32/64 битного установщика.Я уже искал здесь помощь, нашел кое-что у Митриэля, но, к сожалению, я очень новичок в редактировании ключей реестра.

Я ответил на его ответ и опубликовал свой скрипт, но мод удалил его.Я прошу прощения за любой пробел в этикете.

Я использую InnoIDE для разработки моего установщика.По сути, я просто хочу, чтобы он мог определять архитектуру чипсета и затем загружать соответствующие значения реестра.

Из того, что я понимаю, похоже, что многие создают родительский установщик, который запускает два других установщика (один для 32 и 64 соответственно).Это здорово, но файлы, которые я буду копировать в каталог установки, занимают около ГБ.Я не могу, очевидно, дублировать эти файлы.

Я также ищу способ удалить папку при установке.

Я могу опубликовать скрипт / отправить его по электронной почте любому желающемучтобы выручить меня.

J.

Ответы [ 3 ]

0 голосов
/ 22 сентября 2011

при использовании inno setup я обнаружил проблему с записью в 64-битный регистр, кажется, что это отличная инструкция при записи на 32-битную.так что нужно больше искать, и я не получу запас для этого.

0 голосов
/ 06 октября 2011

Не вдаваясь в конкретные вопросы, раздел реестра документации содержит конкретные константы для 32- и 64-битных опций реестра. Например, см. Этот раздел:

Значения могут иметь суффикс 32 или 64. Значения корневых ключей с суффикс 32 (например, HKLM32) соответствует 32-битному представлению реестр; значения корневого ключа с суффиксом 64 (например, HKLM64) сопоставить с 64-битным представлением реестра.

Создайте набор записей реестра для каждой разрядности, и в каждой записи укажите 32- или 64-разрядный корень реестра и добавьте параметр Проверка: IsWin64 для 64-разрядной версии. записи реестра. Вы должны иметь возможность инвертировать эту проверку для 32-битных записей.

0 голосов
/ 01 апреля 2011

Немного о том, «почему», нужен 32/64-битный установщик. Это не отвечает на вопрос, но развился слишком большой для комментария. Смотрите другие комментарии в оригинальном сообщении.


«Проблема» с использованием 32-разрядного установщика для 64-разрядного приложения (и наоборот) связана с виртуализацией реестра Windows .

32-разрядный установщик (если он не использует специальные флаги при записи в реестр, записывает в «32-разрядное представление» реестра, а приложение увидит «64-разрядное представление»). Если само приложение работает только в 32-разрядной версии, это не имеет значения, и, разумеется, необходим только 32-разрядный установщик. Точно так же, если он работает только в 64-разрядной версии, то требуется только 64-разрядная версия установщика.

Удачного кодирования.

...