Archive: Modern UI 1.62 and InstallOptions 2.0


Modern UI 1.62 and InstallOptions 2.0 are ready and available from CVS.

The most important thing is that all problems with IO and custom fonts and DPI's have been fixed. This also fixes the problems with the Modern UI Welcome and Finish pages.

Modern UI 1.62

* No problems anymore when using both 'Run program' and 'Show Readme' on the finish page
* Default state of checkboxes on the finish page can be changed
* Welcome / Finish pages compatible with custom DPI settings
* Converted Install Options INI files to use dialog units

InstallOptions 2.0

* Works with custom font and DPI settings
* INI files should contain dialog units now, no pixels

As you can see, you should use dialog units now in the Install Options INI files instead of pixels, just like the UI's.


Small bug: !InstallNSIS.bat compiles nsis20b0.exe, not nsis20b1.exe


Just upgraded to the latest Modern UI and converted my scripts. Much nicer than before.

One problem: my old multilang scripts used lines such as

WriteIniStr "$PLUGINSDIR\mypanel.ini" "Settings" "NextButtonText" $(MUI_BUTTONTEXT_NEXT)

to set language-specifc text for buttons on InstallOptions panels. The MUI_BUTTONTEXT defines no loner appear in the MUI lang files. If I neglect to set the button text in my IO panels, they work fine in English, but cause a page fault in IO under any other language.

How can I pick up the language-specific button text to feed it to my IO panels?


NSIS has a new page system, so you don't have to handle the button texts anymore.


And the page faults should be solved in the latest version in CVS (some problems with LangStrings).


Picked up today's development build and the page faults are cured.

On problem: text for the cancel dialog shows correctly, but the buttons always read 'Yes' and No' regardless of language. Do I have to set these explicitly for each language? If so, how?


Good :)

To set the buttons for every language differntly you will have to use a LangString. For example:

LangString NextButton${LANG_ENGLISH} "Yes"

>LangString NextButton ${LANG_HEBREW} "Ken"

>#...

>Function IO
>#...
>WriteIniStr "$PLUGINSDIR\mypanel.ini" "Settings" "NextButtonText" $(NextButton)
>#...
>FunctionEnd
>#...