有没有办法在nsis安装程序中显示许可证对话框,即使在静默模式下?

时间:2011-08-22 18:18:37

标签: installer nsis silent-installer

我正在尝试为我正在使用的插件创建一个NSIS安装程序,但我希望它尽可能“免提”。具体来说,我不希望安装程序结束时“单击此处关闭”;相反,我想要许可证出现,当他们点击“同意”时,它会安装和关闭。

我可以使用静默安装来执行此操作,但许可页面也不会显示;除了许可页面之外,有没有办法使安装保持静音?

1 个答案:

答案 0 :(得分:1)

在静默模式下,只执行.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