Fork me on GitHub
NSIS Ultra-Modern User Interface

The Ultra-Modern User Interface is a new interface with a style like the most recent installers for NSIS 3 (Nullsoft Scriptable Install System), the tool that allows programmers to create such installers for Windows. UltraModernUI and NSIS are released under an open source license.

The Ultra-Modern User Interface also features new pages (Confirm, Abort, AlternativeStartMenu, AdditionalTasks, Information, Maintenance, Update, SetupType...). The interface and the graphics can be customized using the provided settings and the new skins system.

UltraModernUI include also an other User Interface named ModernUIEx. ModernUIEx is the same User Interface as the original Modern UI style but with the support of the new ultra-modern pages and with a little more options.

UltraModernUI include three NSIS plug-ins:

  • SkinnedControls: a plug-in, natively integrated to UmtraModernUI, to skin all buttons and scroll bars of your installer;
  • InstallOptionsEx: an extension, natively integrated to UmtraModernUI, of the original InstallOptions plug-in with more feature to create custom pages;
  • nsArray: needed by some UltraModernUI features, provide less out-of-the-box arrays and map features.

[+] Screenshots

Multi language page with default skin Welcome page with blue skin with alternative text and alternative style options Maintenace page with blue2 skin with page background image option Update page with SoftBlue skin with page background image option License page with SoftRed skin Information page in RTF file with SoftBrown skin Setup type page Directory page with unique background image option Alternative start menu page with TreeView Additional tasks page with green skin Installer confirm page with red skin Abort page License page with the no left image option Directory page with the no left image option with SoftBule skin Welcome page with the small page option Directory page with the small page option Multi language page with the ModernUIEx interface Setup type page with the ModernUIEx interface Additional tasks page with the ModernUIEx interface Serial number page with the ModernUIEx interface SkinnedControls Plug-in used with Modern UI or ModernUIEx interface SkinnedControls Plug-in used with Classic UI interface

Lastest news:

UltraModernUI version 2.0 beta 4 released

February 04, 2018
  • Fixed UMUI_PAGE_SERIALNUMBER and UMUI_UNPAGE_SERIALNUMBER pages failed to compile.

UltraModernUI version 2.0 beta 3 released

August 06, 2017
  • New Bulgarian language files by Angel.
  • Added support HKCR32, HKCR64, HKCU32, HKCU64, HKLM32 and HKLM64 root keys for all the UMUI_*_REGISTRY_ROOT defines and for the UMUI_ADDPARAMTOSAVETOREGISTRYKEY macro with NSIS versions >= 3.03.
  • Added support for MUI_UNCONFIRMPAGE_VARIABLE from Modern UI 1.8.
  • Added support for MUI_PAGE_CUSTOMFUNCTION_DESTROYED for original StartMenu page from Modern UI 1.8.
  • Minor Fixes.

UltraModernUI version 2.0 beta 2 released

December 25, 2016
  • Updated the SkinnedControls plug-in to version 1.4 with support of the new NSIS plug-in API, optional unskinit method calls and ignore case parameters name support.
  • Fixed: Links on RichText information pages are now clickable;
  • Fixed: Missing MUI_PAGE_CUSTOMFUNCTION_PRE support missing for some Ultra-Modern pages (by Bodenseematze);
  • Fixed: Most of the time, command line parameters were not transfered to Exec calls (thanks Bodenseematze);
  • Several new and completed language files and other minor fixes by Bodenseematze:
    • Completed: German language file;
    • New: Greek language file;
    • New: Italian language file;
    • New: Lithuanian language file;
    • New: Russian language file;
    • New: Slovenian language file;
    • New: Spanish language file;
    • New: Turkish language file;
  • Minor optimizations.

SkinnedControls plug-in version 1.4 released

December 25, 2016
  • Migrate to the new NSIS plug-in API;
  • The unskinit function in now optional thanks to the new NSIS plug-in API;
  • Parameter names are now ignore case.

UltraModernUI version 2.0 beta 1 released

August 27, 2016
  • UltraModernUI is now fully compatible with NSIS version 3 x86 edition and now with the large string special build;
  • The NSISArray plug-in was replaced by the new nsArray plug-in in version who is faster and uses less memory;
  • Updated the InstallOptionsEx plug-in to version 2.4.5 beta 3 with full unicode support;
  • Updated the SkinnedControls plug-in to version 1.3 with unicode support, bug fixed, rewritten documentation, button image size no more limited to allow smoother gradients...;
  • The information page is now compatible with UTF16LE text files if compiled in Unicode;
  • The information page is now compatible with Unix style (LF only) line return text files;
  • The UMUI_CUSTOM_SKIN define is now deprecated, it is no more necessary and you can simply use the UMUI_SKIN define with your custom skin;
  • All button image was recreated with smoother gradient;
  • Reduced weight of skin images;
  • Updated and almost completed documentation;
  • Added an example for nsDialogs based custom page and documentation;
  • The default install directory for the NSIS + UltraModernUI package is now C:\ProgramData on Windows Vista and upper to allow examples to be compiled without access rights errors;
  • A lot of bug fixes and optimizations;
  • Source code now on GitHub:

SkinnedControls plug-in version 1.3 released

August 27, 2016
  • Button image size are no more limited to allow smoother gradients (see above);
  • "success" or error messages was no longer pushed in the stack by skinit and setskin methods unless the new /SetReturn parameter is set;
  • Fix License text and other RichText scrollbars was not skinned in Unicode Build;
  • Code cleanup;
  • Rewritten documentation.

InstallOptionsEx plug-in version 2.4.5 beta 3 released

August 27, 2016

A big thank to Tallmaris (Leandro Tramma) for the initial unicode compatibility.

  • Added: Full unicode support;
  • Added: make_unicode dll function for Unicode build: Convert an ANSI INI file to the UNICODE charset;
  • Applyed patches from the original InstallOptions source repository.