Don't you like advertising? Neither do I...

...but CoolSoft is free, supported only by donations and a few (and non intrusive) banners.

Please add CoolSoft to your whitelist (click here to know how).

Thanks for your support.

 
 

NSIS Dialog Designer

warning

Warning, JavaScript is disabled!

JavaScript is not available, maybe because you disabled it globally into your browser settings or you are using an addon like NoScript.

We do not have any dangerous JavaScript running here.
Please enable JavaScript; if you're using NoScript this image will help you adding CoolSoft to your whitelist.

Thanks for your comprehension and enjoy CoolSoft.

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

HLine
VLine
Label
Icon
Bitmap
Link
Button
GroupBox
CheckBox

RadioButton
Text
Password
Number
ComboBox
DropList
ListBox
ProgressBar
RichEdit

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" />
</Dialog>

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
    Abort
  ${EndIf}
  !insertmacro MUI_HEADER_TEXT "Dialog title..." "Dialog subtitle..."
 
  ; === Button1 (type: Button) ===
  ${NSD_CreateButton} 12 12 95 33 "Button1"
  Pop $hCtl_Form1_Button1
 
FunctionEnd
 
; dialog show function
Function fnc_Form1_Show
  Call fnc_Form1_Create
  nsDialogs::Show $hCtl_Form1
FunctionEnd

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
!insertmacro MUI_PAGE_DIRECTORY
Page custom fnc_Form1_Show
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH

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

Version history 

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

Download

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)

CoolSoft_NSISDialogDesigner_1.2.0.exe
Description Stable version
Release date 2014-Jul-11 Size 465,295 bytes
MD5 bd73d49f928c29b6afe1eb00cb646fc6
SHA1 6fe6839e608e6ef0c5d7bb77954aca7ed175b773
SHA256 4f757b3a6e05de8c5a31b3d3ea3d9c710537f4f88b49bb8277f14e1afe3489cf
Virus check Open virus check report

Comments

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

Please use the new CoolSoft forum to post your messages.