Search code examples
nsis

NSIS Modern UI Finish Page


I would like to build an installer for my application using NSIS, but I faced a problem on the finish page. It looks like a big white rectangle around a checkbox. The rectangle cuts the 'Nullsoft Install System v3.03' subtitle. Here it is a screenshot:

enter image description here

Here it is a code:

!include "MUI2.nsh"

Name "My cool app"
OutFile "MyCoolAppInstaller.exe"

InstallDir "C:\MyCoolApp"

!define MUI_FINISHPAGE_RUN "$INSTDIR\app.exe"
!define MUI_FINISHPAGE_RUN_TEXT "Run App now"
!define MUI_FINISHPAGE_RUN_NOTCHECKED
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH

Section
  SetOutPath "$INSTDIR"
  File app.exe
  File smth.res
SectionEnd

Does anybody know how to fix it?


Solution

  • You need to add at least one language after the page macros:

    !insertmacro MUI_PAGE_DIRECTORY
    !insertmacro MUI_PAGE_INSTFILES
    !define MUI_FINISHPAGE_RUN "$INSTDIR\app.exe"
    !define MUI_FINISHPAGE_RUN_TEXT "Run App now"
    !define MUI_FINISHPAGE_RUN_NOTCHECKED
    !insertmacro MUI_PAGE_FINISH
    
    !insertmacro MUI_LANGUAGE English
    

    Adding a language will finalize some of the things in the UI and it does not look correct without it.