Есть ли способ отобразить диалоговое окно лицензии в установщике nsis даже в автоматическом режиме? - PullRequest
0 голосов
/ 22 августа 2011

Я пытаюсь создать установщик NSIS для плагина, с которым я работаю, но я хочу, чтобы он был как можно более свободным. В частности, я не хочу, чтобы «нажмите здесь, чтобы закрыть» в конце программы установки; вместо этого я хочу, чтобы лицензия подошла, и когда они нажимают «согласиться», она устанавливается и закрывается.

Я могу сделать это с автоматической установкой, за исключением того, что страница лицензии также не отображается; Есть ли способ заставить установку молчать, кроме страницы лицензии?

1 Ответ

1 голос
/ 22 августа 2011

В режиме без вывода сообщений выполняются только .onInit и Sections, страницы не выполняются и их невозможно выполнить.Чтобы справиться с этим, вам придется подделать его с помощью «пользовательского бесшумного режима»:

!include LogicLib.nsh

var mySilent

Function .onInit
${If} ${Silent}
    StrCpy $mySilent 1
    SetAutoClose true ;Auto close InstFiles page
    SetSilent normal
${EndIf}
FunctionEnd

Function SkipInSilent
${IfThen} $mySilent <> 0 ${|} Abort ${|}
FunctionEnd

Page License
Page Directory SkipInSilent
Page Components SkipInSilent
Page InstFiles

Section
SectionEnd
...