NSIS, индикатор выполнения не показывает 100% по завершении - PullRequest
0 голосов
/ 11 января 2011

Я использую NSIS для создания установщика. В моем сценарии !define MUI_FINISHPAGE_NOAUTOCLOSE так что пользователь может видеть журналы установочного файла. Но здесь моя проблема даже в том, что текстовые шоу прогресса завершены. индикатор выполнения внизу не отражает 100%. Пожалуйста, найдите это screenshot

проблема возникает только в Windows 7, в Windows Xp это нормально.

AFAIK pidgin использует скрипт установщика NSIS, и для этого я смог увидеть его индикатор выполнения, показывающий 100%, когда завершится.

Ответы [ 2 ]

2 голосов
/ 12 марта 2011

Избегайте использования «return» внутри секции, если вы используете «return» в секции, индикатор выполнения может «перепрыгнуть» прогресс из SectionEnd.

Относительные переходы (иначе GoTo) к отрицательным позициям в скрипте могут вызватьта же проблема.

2 голосов
/ 11 января 2011

Вы уверены, что индикатор прогресса достигает 100% на XP? В зависимости от визуального стиля это может выглядеть так, как будто оно на 100% (можно попробовать сгладить индикатор выполнения (сглаживание InstProgressFlags) с выключенным XPStyle)

Обычная причина этого - возврат в раздел:

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

Чтобы обойти проблему возврата, либо измените код, чтобы использовать блоки if / else, либо поместите всю логику в функцию и вызовите функцию из этого раздела.

...