NSIS - показывать Section в SectionGroup, только если системный идентификатор 64bit - PullRequest
0 голосов
/ 08 июня 2018

У меня есть SectionGroup с двумя разделами

SectionGroup /e "myGroup" GRPCONNECTOR

  Section "sec32" SEC32
   ..
  SectionEnd

  Section "sec64" SEC64
   ..
  SectionEnd 

SectionGroupEnd

, оба показаны на странице компонента

, теперь я хочу, чтобы раздел SEC64 отображался только, если запущенная ОС64 биткак бы я это сделал ??

Я пытался с обычным ${if}${RunningX64}, но здесь это не получается.

1 Ответ

0 голосов
/ 08 июня 2018

Вы на правильном пути.Используйте макросы в x64.nsh для работы с 64-битными файлами / WoW и вспомогательные макросы в Sections.nsh для работы с разделами:

SectionGroup /e "myGroup" GRPCONNECTOR
Section "sec32" SEC32
SectionEnd

Section "sec64" SEC64 ; This must be placed before the usage of ${SEC64} in your .NSI file.
SectionEnd 
SectionGroupEnd

!include x64.nsh
!include LogicLib.nsh
!include Sections.nsh

Function .onInit
${IfNot} ${RunningX64}
    SectionSetText ${SEC64} "" ; Hide the section
    !insertmacro UnselectSection ${SEC64} ; And uncheck it
${EndIf}
FunctionEnd

Page Components
Page InstFiles
...