Как сделать файлы необязательными для включения в MainSection установщика NSIS - PullRequest
0 голосов
/ 30 марта 2012

MainSection файла .nsi содержит имена файлов, которые связаны вместе с установщиком.

Мне нужно создать файл, который не должен связываться, когда тип установки равен нормальному, и этот файл должен связываться при типеравно костюму.

Section "MainSection" SEC01 <br/> - SetOutPath "$INSTDIR" <br/> - SetOverwrite ifnewer <br/> * if (installtype==custom) <br/> * File "IncludeThisFile" <br/> SectionEnd

Как добиться выше в nsis.help очень ценится !!

1 Ответ

0 голосов
/ 30 марта 2012

Обычно вы просто помещаете необязательные элементы в другой раздел, но вы также можете делать то, что хотите:

!include LogicLib.nsh
!include FileFunc.nsh
var IsSpecialMode

Function .onInit
StrCpy $IsSpecialMode 0 
${GetParameters} $0
ClearErrors
${GetOptions} $0 "/includespecial" $1
${IfNotThen} ${Errors} ${|} StrCpy $IsSpecialMode 1 ${|}
FunctionEnd

Page InstFiles

Section
SetOutPath "$instdir"
${If} $IsSpecialMode <> 0
    File "${__FILE__}"
${EndIf}
SectionEnd

.. и затем запускать MySetup.exe /includespecial

...