Вы уверены, что индикатор прогресса достигает 100% на XP? В зависимости от визуального стиля это может выглядеть так, как будто оно на 100% (можно попробовать сгладить индикатор выполнения (сглаживание InstProgressFlags) с выключенным XPStyle)
Обычная причина этого - возврат в раздел:
Section
;some code here
${If} $x = $y
return
${EndIf}
;some code here
SectionEnd
Чтобы обойти проблему возврата, либо измените код, чтобы использовать блоки if / else, либо поместите всю логику в функцию и вызовите функцию из этого раздела.