Search code examples
nsis

NSIS MUI language popup not appearing


I am using NSIS to create an installer for my application. NSIS Mondern UI, to be specific.

This installer is multi-lingual and I am using

!insertmacro MUI_LANGDLL_DISPLAY
!insertmacro MUI_LANGUAGE

etc to ask the language input to the user. On one of the machines, I am not getting the "Select Language" popup. But if I use the normal NSIS commands (not MUI) like LoadLanguageFile, LicenseLangString etc., it works perfectly fine.

What could be the reason for this behavior? Is it related to any other system/Windows level setting??

Other MUI commands/instructions work perfectly on this machine. Any help greatly appreciated.


Solution

  • There are a couple of things that could be going on here:

    • If you use the MUI_LANGDLL_REGISTRY_* defines, NSIS will try to remember the language and not ask again (MUI_LANGDLL_ALWAYSSHOW turns this off)
    • If NSIS decides that this machine is only able to display one language (code page issues etc) it will not show the dialog, you can override this with MUI_LANGDLL_ALLLANGUAGES