NSIS Dialog Designer

Please let our ADS show!

This sites offers only FREE software and it's supported by a few advertisement boxes (no intrusive popups).

  • disable your AdBlocker by adding CoolSoft website to whitelist
  • give the proper cookie consent
  • enable JavaScript for this website

This seconds wait is to let you update your browser configuration...

Ok, I've done the required changes... now show me your content!
!!! Please enable JavaScript !!!

Screenshot 1

NSIS Dialog Designer is an IDE that provides a graphical tool to easily design your custom setup pages for the great NSIS installer system.

It supports MUI2 (Modern User Interface 2) dialogs and generates NSIS files ready to be included into your own *.nsi install script.

NSIS Dialog Designer is still a work-in-progress and so is this page.
Please test it and give me your feedback to let this tool suit your needs.

NSIS Dialog Designer is freeware and can be used to design both free and commercial setups.

How does it work

NDD is a relatively simple IDE; if you're used to Visual Studio™ or Eclipse you'll feel at home.
Start by creating a new dialog (File | New), then add some controls to it by choosing them from the Toolbox.
Each control has properties and you can easily edit them into the property grid.

When you save the dialog (suppose you called it Form1), NDD will create 2 separate files:

  • Form1.nsddef is the definition of your dialog in XML format; it contains all controls definitions and their properties
  • Form1.nsdinc is an NSIS script containing all the NSIS commands needed to render your dialog; this is the file you'll include into your own NSIS setup script.

Supported controls

NSIS Dialog Designer supports the following controls



For each control you can set name, position and size. Controls also have events you can bind to your own script functions.

You can also provide your own script parts and fully customize the generated script.

Sample script

Following is the .nsddef definition file for a form with a single button:

<?xml version="1.0" encoding="Unicode"?>
<Dialog Title="Dialog title..." Subtitle="Dialog subtitle...">
  <Button Location="12, 12" Size="95, 33" Text="Button1" />

NSIS Dialog Designer will generate this .nsdinc NSIS script file for the dialog:

; handle variables
Var hCtl_Form1
Var hCtl_Form1_Button1
; dialog create function
Function fnc_Form1_Create
  ; === Form1 (type: Dialog) ===
  nsDialogs::Create 1018
  Pop $hCtl_Form1
  ${If} $hCtl_Form1 == error
  !insertmacro MUI_HEADER_TEXT "Dialog title..." "Dialog subtitle..."
  ; === Button1 (type: Button) ===
  ${NSD_CreateButton} 12 12 95 33 "Button1"
  Pop $hCtl_Form1_Button1
; dialog show function
Function fnc_Form1_Show
  Call fnc_Form1_Create
  nsDialogs::Show $hCtl_Form1

So into your own NSIS script you only need to include the generated .nsdinc file and call the *Show function.

; The name of the installer
Name "NSISDialogDesigner-Test"
; installer properties
XPStyle on
; The file to write
OutFile "test.exe"
; MUI Symbol Definitions
!include Sections.nsh
!include MUI2.nsh
!insertmacro MUI_LANGUAGE English
!include "Form1.nsdinc"
!insertmacro MUI_PAGE_WELCOME
Page custom fnc_Form1_Show
!insertmacro MUI_PAGE_FINISH

That's all, I'll wait for your feedback...

Version history 

v.1.6.0 - 2022-07-07

  • NEW: Added support to relative filenames to Bitmap control.
  • NEW: Added digital signature to program binaries.

v.1.5.0 - 2020-03-22

  • NEW: Script file encoding now defaults to UTF8; a new Dialog property allows to force encoding back to ANSI.

v.1.4.4 - 2019-08-01

  • FIX: Removed decimals from control coordinates in generated NSIS script.

v.1.4.3 - 2018-10-16

  • NEW: New Dialog property to disable generation of *_Show function in NSIS script.
  • FIX: Designer grid size is not saved to configuration.

v.1.4.2 - 2016-08-24

  • FIX: Fixed setup procedure for Windows 10 compatibility.
  • FIX: Fixed .NET framework detection (use .NET Framework 4.0 if already installed).

v.1.4.1 - 2015-09-07

  • FIX: Fixed small memory leak in generated NSIS script (dialog handle left on the stack when calling nsDialogs::Show).

v.1.4.0 - 2015-03-17

  • NEW: Dialog has a new property "DialogUI" which allows user to set custom DialogID and Size (i.e.: using a different UI like sdbarker_tiny.exe).
  • FIX: HLine and VLine controls don't pop their handle from stack.

v.1.3.3 - 2015-03-09

  • FIX: Readonly and TextLimit properties of Number control do not work.

v.1.3.2 - 2014-11-10

  • FIX: Fixed DialogID and Size management, form Size is now readonly unless DialogID is set to a custom value.

v.1.3.1 - 2014-10-27

  • FIX: Can't set custom dialog size, it always revert back to default.
  • FIX: Style and ExStyle dialog properties were serialized even of not necessary.
  • FIX: Removed useless Visible and Enabled dialog properties.

v.1.3.0 - 2014-08-12

  • NEW: TabIndex property of each control is now synchronized with control order into its parent child controls collection. Changing TabIndex (directly or through the "Set TabOrder..." menu command will also change the scripting order of the control into the generated NSIS script.
  • NEW: A warning is now emitted into .nsdinc file to warn the user about manually editing the file.
  • FIX: When dragging a control over another, the dragged control disappeared making it difficult to place two overlapping controls (think about a background bitmap).
  • FIX: Show a custom error message when setting Dialog BackColor property to Transparent.
  • FIX: Fixed properties exposed by HLine and VLine special controls.
  • FIX: Generated script for DirRequest/FileRequest controls is missing some properties (Enabled, Visible, onChange, onClick, Style, ExStyle, ControlCustomScript).

v.1.2.0 - 2014-07-11

  • NEW: CoordinateSystem conversions are now done with higher precision.
    (thanks to shadowpoa for feedback: http://forums.winamp.com/showpost.php?p=3001224)
  • NEW: Control sizes are now written with up to 2 decimals in NSIS generated script.
  • NEW: Added a new "All" subproperty to controls CoordinateSystem property; it can be used to change X,Y,Width,Height subproperties all together.
  • FIX: Wrong vertical CoordinateSystem conversion "Pixel --> DialogUnits".

v.1.1.3 - 2013-12-16

  • FIX: Fixed generated script for DirRequest and FileRequest controls, not respecting CoordinateSystem.

v.1.1.2 - 2013-01-11

v.1.1.1 - 2012-10-01

  • FIX: Fixed generated script for FileRequest control (wrong test on returned string).

v.1.1.0 - 2012-09-14

  • NEW: Improved support for DialogIDs other than the default one (1018). User can now select 1044 (Welcome & Finish pages) and designer will change dialog size accordingly.
  • NEW: Added RichText control support. It does not support RTF text loading, it must be customized by the user (see here: http://forums.winamp.com/showthread.php?t=288129).

v.1.0.0 - 2012-08-25
After a long time from latest one, it's now time to release the first stable version.

  • FIX: Text property of Number control now accepts numeric values and variable nalems (like $abc).
  • FIX: Minor cosmetic fixes.

v.0.9.16 - 2012-04-20

  • FIX: SelectedItem property of ListBox, ComboBox and DropList controls now accepts any value (like $abc).

v.0.9.15 - 2012-04-13

  • FIX: NullReference exception thrown when adding an HLine or VLine control.

v.0.9.14 - 2012-03-20

  • NEW: Panel control, which is only a container for other controls (useful to create more than one RadioButtons group). It has no corresponding NSIS control, so no NSIS script if generated for it.
  • NEW: Added property "Checked" to RadioButton control. Only one RadioButton can be selected at once; if you need to create two (or more) different groups, you must include RadioButtons into a GroupBox or Panel control.

v.0.9.13 - 2012-03-09

  • FIX: Wrong code generated for MaxLength property of TextBox control (thanks to fabpolli for bug report).

v.0.9.12 - 2012-02-27

  • NEW: Added "Percentage" to the available NSIS coordinate systems.
  • NEW: Selection of NSIS coordinate system is now possible at control level, and for each component (X, Y, Width, Height). So now is possible to have different coordinate systems for different controls.
  • Controls coordinate system default value is "Inherit"; this means that by default each control is rendered using the same coordinate system as the containing dialog.

v.0.9.11 - 2012-02-11

  • NEW: NSIS scripts (*.nsdinc files) controls position and size values can now be selected between DU (Dialog units, the new default mode) and Pixels. The default coordinate system mode can be set into Options dialog.
  • NEW: Added 2 new controls: DirRequest and FileRequest.

v.0.9.10 - 2011-11-23

  • FIX: Fixed bug that prevents opening forms where SetupType property is different from default value (Install).
  • FIX: IDE layout was not saved correctly and lost between version upgrades. Please reset layout (View | Reset layout), customize it then restart IDE to save correctly.

v.0.9.9 - 2011-11-21

  • NEW: Added new "check updates" features: it periodically checks for new releases on CoolSoft website.
  • NEW: Script preview editor now preserves selection and cursor position after script changes and when switching between multiple opened dialogs.
  • NEW: TabIndex property can now be used to customize focus path through controls.
  • NEW: Added context menu to dialog designer, it shows Edit menu items.
  • NEW: Dialog .nsddef files are now created with UTF-8 encoding.
  • NEW: .nsddef and .nsdinc files now include NSISDialogDesigner version into header comments.
  • NEW: Duplicate font definitions are merged, generating only a single variable.
  • NEW: .nsddef files can now be opened by drag&drop from Windows Explorer.
  • NEW: IDE layout can now be reset through View menu item "Reset layout".
  • FIX: Property are now stored into .nsddef only if value is different from default.
  • FIX: Fixed issue on copy/paste controls (duplicate control name).
  • FIX: User custom scripts won't be generated during debug, avoiding compile error due to missing functions.

v.0.9.8 - 2011-09-12

v.0.9.7 - 2011-09-11

  • NEW: Added support for Unicode into generated .nsdinc scripts (needs an Unicode version of NSIS).
  • NEW: New (self explaining) control properties: Visible and Enabled.
  • NEW: Dialog name (and so the corresponding NSIS variable) can now be set independently from its .nsddef filename. It could be set through the new "Name" dialog property.
  • FIX: Generated test script (the one compiled with F5) now checks user custom scripts to avoid redefining an already defined function. (thanks to Benjamin Richardson for reporting bug)
  • FIX: Fixed broken uninstall test script.
  • FIX: Some properties appear in bold into Property Grid, even if their value is the default one. This caused the generate script to be longer than required.
  • FIX: Custom script editor now accepts TAB key.
  • FIX: Script preview is cleared when closing the last dialog editor.
  • FIX: Fixed focus management issues that prevents DEL key to work into PropertyGrid.

v.0.9.6 - 2011-06-28

  • NEW: Added new property SetupType to dialog, allowing the generated script to be used in Install and Uninstall scripts.
  • NEW: Debugger code to debug Uninstaller dialogs.
  • FIX: Cleaned up the debug scripts.

v.0.9.5 - 2011-06-16

  • BUG: Fixed key management preventing DEL key to be used inside PropertyGrid (thanks to Jovet for bug report)
  • NEW: Edit menu items now are enabled according to active content (designer, property, toolbox, ...)
  • NEW: DialogID and Size now are public properties (deedsmedia request)
    (can be reset to default values by right-clicking on PropertyGrid item)

v.0.9.4 - 2011-05-29

  • BUG: Fixed permission issues on UAC enabled systems.

v.0.9.3 - 2011-04-20

  • NEW: Added new properties ForeColor and BackColor
    (not working for: Button, ComboBox, DropList, GroupBox, HLine, VLine, ProgressBar)
  • NEW: Added new property Font
  • NEW: Designer now can show a grid (see Tools | Options menu)
  • BUG: Editor does not save dialogs when exiting with close button.
  • BUG: Script preview not updated when a new control is added

v.0.9.2 - 2011-04-20

  • BUG: Missing property "Name" is now shown (Dialog does not have it because name is the same as its definition filename)

v.0.9.1 - 2011-04-20

  • NEW: New dockable content with realtime NSIS generated script preview

v.0.9.0 - 2011-04-18

  • First public release


NOTE: .NET Framework 2.0 or newer is required: 2.0 (x86) - 2.0 (x64) - 4.0 (client profile)
(Windows Vista comes with .NET Framework 3.0 preinstalled, Windows 7 comes with .NET Framework 3.5 preinstalled, Windows 8 comes with .NET Framework 4 preinstalled)

Mirroring, repackaging and any other way to redistribute my software to end users from outside coolsoft.altervista.org is FORBIDDEN! (unless expressly authorized)
Links to this page are welcome (do not use HTML #fragments and do not link the .exe file directly).

Descrizione Stable version
Release date 2022-Lug-07 Dimensione 517,464 bytes
MD5 79e2330ca679115b8e025d5119523ec0
SHA1 84b98c71c35bddb0ee06f5603d119266cff0de92
SHA256 e468836e57d1ac40cd203588754d55e738adb342a5e9464c18320ba68889ad53
TIMESTAMP 1657219514
Open virus check report
Release date 2020-Mar-22 Dimensione 470,376 bytes
MD5 8203b8def60d6ed3e609b3167bbaf177
SHA1 4b99bd033b967c4481a579e10d68126cb6e1936c
SHA256 9310da159d58cb4b16784915dd80185d18ce720b6f956df6e46520deb698148b
Open virus check report


Comments are now disabled and old comments were converted to forum posts.

Please use the new CoolSoft forum to post your messages.