NSIS静默安装程序 - 未观察到跳转

时间:2012-11-16 10:58:43

标签: installer nsis silent silent-installer

我正在尝试静默安装程序here的NSIS doc示例。取消注释行

; SilentInstall silent

然后是的,我的安装程序是静默的。但是,它会显示消息框。即使安装程序是静默的,预计也会出现消息框。为了使消息框保持静音,必须为每个消息框播放/ SD选项。示例脚本在此提出:

MessageBox MB_OK|MB_ICONINFORMATION "This is not a silent installer" /SD IDOK

使消息框保持沉默的另一个意思是暴露:它检查是否静默。如果是静音,则向前跳两行(所以不要显示消息框)

IfSilent 0 +2
    MessageBox MB_OK|MB_ICONINFORMATION 'This is a "silent" installer'

这第二个解决方案对我不起作用。如果我将安装程序设置为静音,则会显示带有“这是静默安装程序”的框。如果我改为

MessageBox MB_OK|MB_ICONINFORMATION 'This is a "silent" installer' /SD IDOK

消息未出现。

为什么跳转

IfSilent 0 +2

不工作? +3也没有成功。

2 个答案:

答案 0 :(得分:6)

就像zbynour所说,你把参数混淆了。

要避免相对跳跃问题,请使用logiclib:

!include LogicLib.nsh

...

${IfNot} ${Silent}
  MessageBox ...
${EndIf}

答案 1 :(得分:3)

因为在静默安装的情况下第一个参数偏移到跳跃 (非静默的第二个参数)。

试试这个:

IfSilent +2 0