Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно
MKN MKN вне форума

Ветеран


Сообщения: 2358
Благодарности: 559

Профиль | Отправить PM | Цитировать


tony1990,

Для стандартных страниц, когда требуется установка x32 компонентов в x64 ОС (ну и само собой х32 в х32 ОС и х64 в х64 ОС) проще манипулировать чекбоксами выбора вариантов установки на странице MUI_PAGE_COMPONENTS

Пользователю предлагается :
в x64 ОС выбрать чекбокс - либо "установка х32 компонентов" либо "установка х64 компонентов". Очень наглядно и удобно.

При установке в х32 ОС эти чекбоксы скрыты. А ещё лучше скрыть только "х64" чекбокс, а чекбокс "х32" оставить не активным.

Для отметки/скрытия чекбоксов используем в Function .onInit , (к примеру, для секции с ID х32 и секции с ID x64) :

SectionSetFlags ${x32} 17 ; не активный ОТМЕЧЕННЫЙ чекбокс секции x32
SectionSetFlags ${x64} 16 ; не активный НЕ отмеченный чекбокс секции x64
SectionSetText ${x64} "" ; скрыть чекбокс секции x64


В зависимости от состояния чекбоксов, устанавливаются флаги отметки секций (к примеру, для секции с ID х32 и секции с ID x64) используем :
!insertmacro UnselectSection ${x64}
!insertmacro SelectSection ${x32}
Ессно совместно с Function .onSelChange

И ещё такой момент. Как правило, пользователю по умолчанию предлагается путь установки ($INSTDIR) - в $PROGRAMFILES. Этот путь ($INSTDIR)
пользователь видит на странице MUI_PAGE_DIRECTORY (там же ессно может и изменить)

Так вот, при установке x32 компонентов в х32 ОС и при установке x64 компонентов в х64 ОС - каталог $PROGRAMFILES одинаков ,т.е. Program Files

А при установке x32 компонентов в х64 ОС, каталог $PROGRAMFILES - Program Files (x86)

Это надо учитывать для правильного отображения $PROGRAMFILES на стандартной странице MUI_PAGE_DIRECTORY.
Т.е. придётся добавить свою MUI_PAGE_CUSTOMFUNCTION_SHOW , в которой в зависимости от состояния чекбоксов выбора разрядности, устанавливаем $INSTDIR с правильным каталогом $PROGRAMFILES

Последний раз редактировалось MKN, 29-07-2015 в 15:46.

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:41, 29-07-2015 | #1713