Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для K.A.V.

Ленивый кусок мяса


Contributor


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

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


Цитата tony1990:
Есть ли какой-нибудь флаг типа установки InstType чтобы знать какой выбран в данный момент »
Если справочник не читали - рекомендую это сделать, флаг типа установки (как ни странно) хранит только то, какой тип установки выбран, прочитайте про команду GetCurInstType

Цитата tony1990:
В зависимости от выбора типа установки (32-бит или 64-бит) выводить в списке компонентов только нужные элементы (именно выводить, а не отмечать галочкой) »
Ну так, проще простого, ведь NSIS не отображает секции без имён - этим и нужно пользоваться
А разрядность ОСи определяется буквально парой строк

Цитата:
В зависимости от выбора типа установки (32-бит или 64-бит)
Пользователю ещё и тыкать нужно? Сделайте всё на автомате...

Код: Выделить весь код
Section /o "Эта секция скрывается при 64-bit ОС" SEC_64BIT 
SectionEnd
             
Section /o "Эта секция скрывается при 32-bit ОС" SEC_32BIT 
SectionEnd


Function .onInit
Var /Global IsWow64Process
  System::Call kernel32::GetCurrentProcess()i.s
  System::Call kernel32::IsWow64Process(is,*i.s)
  Pop $IsWow64Process ; 0 = 32-bit ОС, 1 = 64-bit ОС
  
 ${If} $IsWow64Process == "1"
   SectionSetText ${SEC_64BIT} "" ; Секции с пустыми именами не отображаются
 ${Else}
   SectionSetText ${SEC_32BIT} "" ; Секции с пустыми именами не отображаются
 ${EndIf}  
FunctionEnd

-------
[Справочник по командам Windows] -- [Справочник по NSIS] -- [SFX Creator - для создания SFX архивов]


Отправлено: 22:28, 26-07-2015 | #1703