NSIS,进度条在完成时未显示100%

时间:2011-01-11 08:57:07

标签: nsis

我使用NSIS创建安装程序。在我的脚本中!define MUI_FINISHPAGE_NOAUTOCLOSE 这样用户就可以看到安装文件日志。 但在这里,我的问题甚至是进度文本显示已完成。下面的进度条不能反映100%。 请找到此screenshot

问题只发生在Windows 7中,在Windows Xp中很好。

AFAIK pidgin使用NSIS安装程序脚本,为此我可以看到它的Progressbar在完成时显示为100%。

2 个答案:

答案 0 :(得分:2)

您确定进度条在XP上达到100%吗?根据视觉风格,它看起来可能是100%(您可以尝试使用“XPStyle off”顺利进度条(InstProgressFlags光滑))

通常的原因是在一个部分中返回:

Section
;some code here
${If} $x = $y
  return
${EndIf}
;some code here
SectionEnd

要解决返回问题,您可以更改代码以使用if / else阻止或将所有逻辑放在函数中并从该部分调用该函数。

答案 1 :(得分:2)

避免在部分内部使用'return',一旦在部分中使用'return',进度条可能会从SectionEnd'跳过'进度。

脚本上的相对跳跃(也称为GoTo)到负位置可能会导致同样的问题。