RAD & Installer - RAD Studio expert for creating NSIS and Inno Setup installers

RAD box

RAD Installer iconRAD & Installer - Features  

New project types: NSIS Project and Inno Setup Project

RAD & Installer brings two new project types into RAD Studio: NSISProject icon NSIS Project and InnoSetupProject icon Inno Setup Project.
NSISProject icon NSIS Project (.nsisproj) allows you to create NSIS (Nullsoft Scriptable Install System) scripts (.nsi and .nsh files) and build awesome NSIS installers.
InnoSetupProject icon Inno Setup Project (.innoproj) allows you to develop famous Jordan Russel's Inno Setup scripts (.iss files) and build powerful Inno Setup installers.
Each project contains it's own language: NSIS language and Inno Setup language which are equal to other RAD Studio languages (Pascal/C++/JavaScript/...) and offer all functionality.

Full integration into RAD Studio IDE

With RAD & Installer you can easily create installer for your software directly from your preferred IDE. NSISProject icon NSIS Project
and InnoSetupProject icon Inno Setup Project(s) can live together with other projects in Project Group - Pascal, C++ and many more. Create, edit, and build your installers directly from RAD Studio without need of an external tools!

Also MSBuild properties and parameters are supported in Project properties (see below) - e.g. you can use $(MSBuildProjectFile) etc. More info about MSBuild...

RAD Studio 2009, 2010, XE - XE8, 10 Seattle - 10.4 Sydney, 11 Alexandria,12 Athens support

RAD & Installer works in all recent RAD Studio versions (2009, 2010, XE, XE2, XE3, XE4, XE5, XE6, XE7, XE8, 10 Seattle, 10.1 Berlin10.1 Berlin
10.1 Berlin
, 10.2 Tokyo10.2 Tokyo
10.2 Tokyo
, 10.3 Rio, 10.4 Sydney, 11 Alexandria11 Alexandria
11 Alexandria
, 12 Athens12 Athens
12 Athens
) - and this list is still increasing!
Create your installer in your preferred IDE - without need to upgrade your current IDE to the latest one!
All editions of RAD Studio are supported (also the new Community editionCommunity edition
Community edition
) and RAD & Installer works in both languages: Delphi and C++ Builder.

We are working on our product every day and we want to support as many RAD Studio versions as possible - let us know which IDE you use!

Build installers directly with other project types

NSISProject icon NSIS Project and InnoSetupProject icon Inno Setup Project are integrated into RAD Studio as fake (empty) Delphi/C++ Builder project(s) used to hold setup files. The .nsisproj and .innoproj files are MSBuild projects compilable by RAD Studio compiler.
These projects can be built, compiled, cleaned, deleted from Project Group, built sooner or later - treat them exactly as other regular project types!
The appearance of script files (.iss or .nsi/.nsh) can be customized - set intend mode, tabs stops, filling, spacing and more for NSISnsis colors
NSIS
, and Inno Setupinno setup colors
Inno Setup
in Tools -> Options, section Editor Options -> Source Options.

Easy to be integrate into many popular build (automation) systems

Both NSISProject icon NSIS Project (.nsisproj) and InnoSetupProject icon Inno Setup Project (.innoproj) are based on MSBuild so they can be easily integrated into many build (automation) systems.
Every popular build system supporting MSBuild (by default or by external plug-in) is capable of building these installer projects.
Use Jenkins, Maven, Apache Ant, Hudson, Gradle, FinalBuilder or your preferred system together with Visual & Installer and build your installer together with your software product.

See Project Properties for supported symbols and variables (platforms, configurations, ...).

Projects Compilation (Build)

The NSISProject icon NSIS Project and InnoSetupProject icon Inno Setup Project are special types of RAD Studio projects which we created only for the installers - they did not exist in RAD Studio before RAD & Installer.
As they are a little different they require some special actions, especially for Compilation (Building):
We recommend to use keyboard shortcuts instead of clicking the GUI icons:
Compile (Build)Save script files before build colors
Save script files before build
the project with Build (Shift + F9) or Compile (Ctrl + F9) shortcuts (with Save script files option).
Run last successful buildRun last successful build
Run last successful build
with Run (F9) or Run Without Debugging (Shift + Ctrl + F9) shortcuts.
To run the resulting installer automatically after compilation set "Run Installer" action to "Yes" in Project Properties (Right click the NSISProject icon .nsisproj or InnoSetupProject icon .innoproj file).

NSIS and Inno Setup Project Properties

For every project it is possible to set command line options - to modify compilation process, adjust output, define custom symbols, emulate #define and #pragma directives and more.
In Project Properties dialog you can set these options - separately for every project in project group and for every fonfiguration.
MSBuild properties and parameters are supported (e.g.: $(MSBuildProjectFile)) - you can use them in all fields.
Properties with spaces must be enclosed with quotes! (e.g.: "string with spaces").

See FAQ section for solution to most common troubles related to project settings.

NSISProject icon NSIS Project Properties:

Property Switch Comment Group
NOCD /NOCD Disables the current directory change to that of the .nsi file. Compiler
NOCONFIG /NOCONFIG Disables inclusion of <path to makensis.exe>/nsisconf.nsh.
Process Priority /Px Compiler process priority, x is 5=real time, 4=high, 3=above normal, 2=normal, 1=below normal, 0=idle.
Binary Output /RAW MakeNSIS output is binary (allowing Unicode texts). Supported only in Unicode NSIS (2.46.5 and newer,
not in NSIS 3!).
Warnings as Errors /WX Treats warnings as errors (Stops compilation on warning).
Preprocessor /PPO Runs only the preprocessor (Prints the result to Output Window).
Safe Preprocessor /SAFEPPO Runs only the preprocessor (Prints the result to Output Window). The safe version will not execute
instructions like !appendfile or !system. !packhdr and !finalize are never executed.
Defined symbol /D define[=value] defines the symbol 'define' for the script [to value]. Parameters are processed by order!
(/Ddef ins.nsi != ins.nsi /Ddef)
User Symbols
Execute symbol /X Executes scriptcmd in script (i.e. '/XOutFile inst.exe').
Launch tool after build - Launch specified application after successful build. General
Launch tool before build - Launch specified application before build.
Run installer - Run generated installer after successful compilation.
Run installer - Parameters - Parameters passed to launched installer. Accepts: MSBuild $(Variable)s and ${Symbol}s.
InnoSetupProject icon Inno Setup Project Properties:

Property Switch Comment Group
Output /O Output files to specified path (overrides OutputDir): /O<path>. Compiler
OutputBaseFilename /F Overrides OutputBaseFilename with the specified filename: /F<filename>.
SignTool /S Sets a SignTool with the specified name and command: /S<name>=<command>.
Defined symbol /D Emulate #define public <name> <value> /D<name>[=<value>] Directives
Include /I Emulate #pragma include <paths> /I<paths>
Include File /J Emulate #include <filename> /J<filename>
Option /$ Emulate #pragma option -<letter>(+|-) /$<letter>(+|-)
Parse Option /P Emulate #pragma parseroption -<letter>(+|-) /P<letter>(+|-)
Inline Start /{# Emulate #pragma inlinestart <string> /{#<string>
Inline End /} Emulate #pragma inlineend <string> /}<string>
Launch tool after build - Launch specified application after successful build. General
Launch tool before build - Launch specified application before build.
Run installer - Run generated installer after successful compilation.
Run installer - Parameters - Parameters passed to launched installer. Accepts: MSBuild $(Variable)s and {#Symbol}s.

tip Tip:
innoproj properties
To set Project Properties right click the InnoSetupProject icon .innoproj/ NSISProject icon .nsisproj file in Project Manager and select Project Properties.

Use Project Properties dialog as main configuration tool for your projects. Do NOT use regular project Options - that will NOT work for NSISProject icon NSIS or InnoSetupProject icon Inno Setup projects!

Also set current Configuration (Debug/Release) here. Double-clicking in Project Manager will NOT switch configuration!




Project Properties dialog accepts MSBuild variables (RAD Studio uses them since 2007).
You can find some of the in this post: MSBuild project level properties for Delphi.





Syntax highlighting (coloring)

Syntax highlighting was important feature of RAD Studio for ages. Now your NSIS (.nsi and .nsh) and Inno Setup (.iss) files can be colored too!
Improve readability of your scripts in RAD Studio! All colors can be customized - there are many elements supported: Keywords, Comments, Parameters, Variables, Constants, labels, Preprocessor and many more...
Configure them easily in Tools -> Options, section Editor Options -> Color dialog for NSISnsis-colors
NSIS
, and Inno Setupinno-colors
Inno Setup
.
However NSIS and Inno Setup scripts are case INsensitive you need to write words correctly to have syntax highlighting working!

Code Insight Code Completion

Do not waste your time by manual writing whole comands, functions, parameters, directives etc.! Using Code Insight Code Completion you can speed up writing your scripts.
Simply hit Ctrl + Space and immediately you will see a list of possible word matches. (Yes, exactly as in Pascal/C++ or any other language in RAD Studio!) A short information is shown together with items so you can quickly recognize them.

The InnoSetupProject icon Inno Setup Code Completion items are also context sensitive (the items are shown based on cursor position in script) like in regular programming language.

tip Tip: In RAD & Installer Settings dialog (category Text Editor -> Text Editor Settings) you can define behavior for Code Completion feature.
Default Code Completion

In standard configuration Code Completion (Off) offers only items starting with typed characters: if you type 'GetS' you get 'GetSaveFileName'. This is useful if you know name of function, parameter or any item you are looking for so you get your result quickly.



Advanced Code Completion
However in advanced mode (On = checked), if you type 'GetS' you will get also 'RegGetSubkeyNames' which contains 'GetS' inside the text. This is useful if you are looking for some specific items like 'File' -> get all items that have something to do with file.







(This examples show Code Completion for Inno Setup, the same applies to NSIS.)




Note for Inno Setup: Code Insight is section sensitive - in [Code] section it offers you items related to Pascal scripting (variables, parameters, procedures, functions, ...) and outside of [Code] it offers Inno specific items (parameters, directives, flags, constants, ...). Specific items can be used in all sections.

Code Insight Code Completion items

Code Insight Code Completion (Ctrl+Space) list shows items from various categories: Keywords, Parameters, Constants, Flags, Members, user defined content (procedures, functions, inluded files, ...) etc.
Each item consists from text, type and description together with category image. Different font styles are used to specify the item's behavior.
See the Navigation Bars section for details what the specific font style represents.

List of all supported Code Insight types:

Icon NSIS Type Inno Type NSIS color Inno color Example NSIS Example Inno
color Variable Variable color color $myVariable myVar: Integer
color - Parameter - color - I: Integer
color Global Variable Global Variable color color $GlobalVar GlobalVar: Integer
color Variable Static variable color color $0 - $R9 WizardForm
color Constant Constant color color $INSTDIR {app}
color Function Function / Procedure color color MyFunction MyFunction()
color Callback Event Function / Procedure color color .onGUIInit NextButtonClick()
color Command Pascal code color color ShowWindow IntToStr()
color Parameter Parameter color color /SILENT Common
color Plug-in export - color - Inetc::get -
color Directive Symbol color color !include {#APP_NAME}
color - Directive - color - AppName
color - Flag - color - promptifolder
color Header file - color - "FileFunc.nsh" -
color - Class - color - TPanel

All colors can be changed easily in Tools -> Options -> Editor Options -> Color (NSIS or Inno Setup tab).

Note for Inno Setup: Code Insight is section sensitive - in [Code] section it offers you items related to Pascal scripting (variables, parameters, procedures, functions, ...) and outside of [Code] it offers Inno specific items (parameters, directives, flags, constants, ...). Specific items can be used in all sections.

Code Insight Parameter Hints

Writing installation scripts (especially large) often requires calling Pascal functions or procedures (or commands in NSIS). With this feature you get extra help: as you type function name and type the left parenthesis '(' a tooltip is shown at cursor position.

This tooltip contains detailed description - which tells you the usage of the function or procedure, number and types of parameters and many more useful information.
The tooltip is updated as you write. After comma ',' the tooltip is updated and current parameter is highlighted in bold.

This feature can be adjusted in Settings dialog (Category Text Editor).

tip NSIS Tip:
NSIS has special syntax: parameters are separated with spaces which are not accepted and recognized in RAD Studio correctly.
Thus we added special helper characters to have NSIS Parameter Info feature working correctly:

Parameter Info is triggered by entering the left parenthesis '(' character.
To move to next parameter use comma ',' and to skip optional parameter use at '@' (folowed by comma if there is another parameter).
Don't worry about the helper characters: they disappear (or are replaced by spaces) immediately after you type right parenthesis ')'.

Code Insight Code Hints

If you are not sure what certain symbol, parameter or just any word in script means then solve your dilema easily using Code Hints feature!
Move the mouse over some word - and a small tooltip with help will appear with basic information, type, parameters, correct usage.
Code Hints work for most of the code - NSIS parameters, variables, constants, flags and also for Inno Setup Pascal functions and procedures, directives, parameters, flags and classesinno setup quick info
InnoSetup Pascal functions and procedures Code Hints
, ...

* This feature is disabled in Starter Edition by Embarcadero Technologies. Sorry for this inconvenience.

Code Insight Member Completion

The Code Insight Member Completion is a tool tip that displays a list of possible members for classes (objects), local variables or global (static) variables. If you type variable followed by a period (.) all possible members of this class are presented in a list from which you can choose.

This feature works only for objects because in Inno Setup there are no members available for not object variables (Integer, String, ...). You can move cursor over any classintellisense objects
Code Insight for classes (objects) in Pascal language
to view it's members.

* InnoSetupProject icon InnoSetupProject only

Navigation Bars allows you to quickly access the most important part of the script. They are divided into two parts:
- Left one (called Types, shortcut: Alt+T) is designed for fast switching between important parts of the script and
- Right one (called Members, shortcut: Alt+M) contains user defined content - use it to jump to symbol definition.

Every item in both drop-down boxes contains icon and text. Text (font) style can vary - everything is shown immediately as user types the script into editor.
You can also use Go To feature on the most items in these boxes.


NavigationBars in NSISProject icon NSIS Project:

nsis navigation bars

Left drop-down box (called Types, shortcut: Alt+T) is used for fast switching between Sections, SectionGroups and Labels.
Icon Type Font style Example
intellisense icon Regular section - Section "Main section"
intellisense icon Invisible section Grayed Section "-Invisible Section"
intellisense icon Bold section Bold Section "!Bold section"
intellisense icon Section without name <Unnamed section> Section ""
intellisense icon Uninstall section Italic Section "Uninstall"
intellisense icon Regular label - Label:
intellisense icon Global label Bold .GlobalLabel:
intellisense icon SectionGroup - SectionGroup "Main group"

Right drop-down box (called Members, shortcut: Alt+M) contains user defined Variables, Functions, Symbols and Macros.
Icon Type Font style Example
intellisense icon Local variable - Var variable
intellisense icon Global variable Bold Var /GLOBAL globalVar
intellisense icon Function - Function MyFunction
intellisense icon Callback Underline Function .onInit
intellisense icon Uninstall function Italic Function "un.Function"
intellisense icon Page Creator/Leave - Page Custom ShowPage
intellisense icon UninstPage Creator/Leave Italic UninstPage Custom ShowUnPage
intellisense icon Defined symbol - !define DEBUG
intellisense icon Macro Italic !macro MY_MACRO


Navigation Bars in InnoSetupProject icon Inno Setup Project:

inno setup navigation bars

Left drop-down box (called Types, shortcut: Alt+T) is used for fast switching between Sections, Types and Constants.
Icon Type Font style Example
intellisense icon Section - [Setup]
intellisense icon Type - type TDays = (Monday, Tuesday);
intellisense icon Const - No = False;

Right drop-down box (called Members, shortcut: Alt+M) contains user defined Variables, Functions/Procedures, Parameters and Symbols.
Icon Type Font style Example
intellisense icon Variable - I: Integer;
intellisense icon Parameter Italic PageID: Integer;
intellisense icon Global variable Bold WizardForm: TWizardForm
intellisense icon Static variable Bold MainForm, WizardForm, UninstallProgressForm
intellisense icon Function - function GetData(): Integer;
intellisense icon Procedure Italic procedure CountItems();
intellisense icon Event Function Underline function InitializeSetup(): Boolean;
intellisense icon Event Procedure  Italic Underline  procedure InitializeWizard();
intellisense icon External Function - function F; external '<dllfunctionname>@<dllfilename>';
intellisense icon External Procedure Italic procedure P; external '<dllprocname>@<dllfilename>';
intellisense icon Symbol - #define DEBUG
intellisense icon Public Symbol Bold #define public NAME

Note: There are 3 global static variables in InnoSetupProject icon Inno Setup: MainForm (TMainForm), WizardForm (TWizardForm) and UninstallProgressForm (TUninstallProgressForm).
These variables are always visible and accessible (as they are defined directly in Inno's sources): we attached them to line [Code].

Complete linkage to the projects build process

With NSISProject icon NSIS Project and InnoSetupProject icon Inno Setup Project you can do everything you used to do with your projects. They live together with other project types in Project Manager and you can include them in Project Groupproject-group
Project Group
and build them together in Build GroupBuild Group
Build Group
, you can set their Project Propertiesproject properties
Project Properties
(similar to classic Project Options), include them in Source ControlSource Control
Source Control
(as they are 100% text based) and and many more possibilities.

Now you have everything together in single IDE and you can work faster and more effective! Build your applications, components, libraries, utilities ... and installers from one place!

Inno Setup Form Designer / NSIS Form Designer

RAD & Installer is perfect tool for quick & easy creating Inno Setup icon Inno Setup or NSIS icon NSIS forms (custom installer pages).

Because both installation systems NSIS icon NSIS and Inno Setup icon Inno Setup are script based, the installers forms are created manually by writing the code in editor.
And that is really simple with provided features like Code Insight Code Completion (Ctrl + Space)Code Completion (Ctrl + Space)
Code Completion (Ctrl + Space)
, Code HintsCode Hints
Code Hints
, Parameter HintsParameter Hints
Parameter Hints
and many other!
Also you can use help of Live TemplatesLive Templates
Live Templates
to insert most often used pieces of code and whole form is created within few minutes.
See the Inno Setup icon Inno Setup or NSIS icon NSIS documentation for more details about creating custom forms.

Quick jump from Messages window

Did you used to double-click the error message in the Messages window to quickly jump to wrong line if some error occurred in your code? This is working for NSIS and Inno Setup scripts too!

Detailed error description and location is shown in this list everytime something wrong happens during compilation of the script.
Do not lose your time navigating among lines and files. Double click the error and correct file is immediately opened and error line highlighted!Error Line
Highlighted line with error

Support of electron-builder scripts

electron-builder is a popular and complete solution to package and build a ready for distribution Electron app for macOS, Windows and Linux with 'auto update' support out of the box.

RAD & Installer allows you to open and easily edit any electron-builder NSISProject icon NSIS script file (both .nsi and .nsh) so you can tweak and customize an installer for your electron app without any effort.

See electron-builder website for more information.

* NSISProject icon NSIS Project only

Code Insight Code Browsing (Find Declaration: Ctrl + Click)

If you used to use Code Browsing features (Find Declaration, Ctrl + Click) in RAD Studio IDE you can use it also in your NSIS and Inno Setup scripts!
Simply hold Ctrl key, move cursor on any word (variable, function, macro, symbol, ...) and Left click. This command is also available through the right-click menu (Find Declaration).
The Find Declaration command will move the cursor to the line where underlying symbol is defined (if symbol is recognized it becomes a 'hyperlink').

* This feature is disabled in Starter Edition by Embarcadero Technologies. Sorry for this inconvenience.

tip Tip for Starter Edition users:

However Ctrl + Click is disabled (by Embarcadero Technologies) in Starter Edition you can still use it.
Right click the identifier and select Find Declaration from popup menu. That performs the same action as Ctrl + Click.

This also works on included files - use Find Declaration to open file at cursor.



tip Tip:
nsis tooltip Anytime you see a ToolTip (when you move mouse over some word in editor) you can use Code Browsing (Find Declaration) feature.
Also you can use Code Browsing feature for (almost) all items shown in Navigation Bars.

Inno Setup users can also use Code Browsing (Find Declaration) feature on "{cm:...}, {code:...}, {ini:...}, {reg:...}" constants.

Code Browsing also works on included files - use Ctrl + Click to open file at cursor.

Find References

Useful feature for large scripts. You can quickly display all occurences of desired item in whole script file.
Click any word in editor and select Find References from context menu (default shortcut is Ctrl+Shift+Enter). Find References window shows up and all found matches are displayed with additional details.

By double-clicking the item in the results list you can quickly jump to the found occurence.


In NSISProject icon NSIS almost all items from Navigation Bar (right drop-down box called Members) are supported:
Icon Type Font style Example
intellisense icon Local variable - Var variable
intellisense icon Global variable Bold Var /GLOBAL globalVar
intellisense icon Function - Function MyFunction
intellisense icon Callback Underline Function .onInit
intellisense icon Uninstall function Italic Function "un.Function"
intellisense icon Page Creator/Leave - Page Custom ShowPage
intellisense icon UninstPage Creator/Leave Italic UninstPage Custom ShowUnPage
intellisense icon Defined symbol - !define DEBUG
intellisense icon Macro Italic !macro MY_MACRO


In InnoSetupProject icon Inno Setup these items from Navigation Bar (Right drop-down box called Members) are supported:
Icon Type Font style Example
intellisense icon Global variable Bold GlobalVar: String
intellisense icon Variable - I: Integer;
intellisense icon Function - function GetData(): Integer;
intellisense icon Procedure Italic procedure CountItems();
intellisense icon External Function - function F; external '<dllfunctionname>@<dllfilename>';
intellisense icon External Procedure Italic procedure P; external '<dllprocname>@<dllfilename>';
intellisense icon Symbol - #define DEBUG
intellisense icon Public Symbol Bold #define public NAME

tip Tip:
Click the Copy button to copy content of References Window into Clipboard (as text).

Hints and tips for writing scripts

Do not waste your time searching manuals and guides. If you make an error in your NSISProject icon NSIS script, Visual & Installer compiler can help you!

Check the Warnings list - for every NSIS command and preprocessor directive correct syntax is shown - to help you write your installer faster!

This also works for InnoSetupProject iconInno Setup Hints and Tips for Inno Setup
Hints and Tips for InnoSetupProject icon Inno Setup
- detailed information about [Setup] section directive parameters is shown when invalid value is used.

Code optimizations

RAD & Installer compiler keeps an eye on your code. If you forget to remove some unreferenced item you will get a warning.

Unused or unreferenced NSISProject icon NSIS Install/Uninstall Functions, Variables, global/regular Labels and other items are recognized. Clean up your script and save memory!

In InnoSetupProject iconInno Setup Code Optimizations Inno Setup Code Optimizations
InnoSetupProject icon Inno Setup Code Optimizations
feature tracks unused Variables and shows hint when variable has zero references.

Opening script files (Go To File)

This feature is very similar to Code Browsing feature and works for recognized script files (*.nsi/*.nsh and *.iss files).
On line which contains directive !include "some_file.nsh/.nsi" (for NSISProject icon NSIS Project)
or #include "some_file.iss" (for InnoSetupProject icon Inno Setup Project) you can press Find Declaration (default shortcut is Ctrl + Click) and the file at cursor position will be opened in RAD Studio editor.
File is immediately parsed and it's syntax colorized, user defined symbols, variables, functions, ... are loaded and file is ready to use.
Note: Open File at Cursor shortcut (default Ctrl + Enter) is replaced with Ctrl + Click (Code Browsing - Find Declaration)!

* This feature is disabled in Starter Edition by Embarcadero Technologies. Sorry for this inconvenience.

tip Tip for Starter Edition users:

However Ctrl + Click is disabled (by Embarcadero Technologies) in Starter Edition you can still use it.
Right click the included file and select Find Declaration from popup menu. That performs the same action as Ctrl + Click.

This also works on Identifiers (Go To) - use Find Declaration to jump to declaration of identifier.

NSIS and Inno Setup Live Templates

RAD Studio's feature called "Live Templates" allows you to write macro type templates that expand from a keyword and are parameterized, i.e. you can tab through the parameters and supply them one by one. This is a great productivity aid and RAD & Installer supports them too (for both NSISProject icon NSIS and InnoSetupProject icon Inno Setup)!
Read Getting Started with RAD Studio - Live Templates article on Embarcadero website to learn more about them.

Each template performs some task such as declaring variable, creating function or section, writing condition or loop.
The list of all available templates can be shown from main menu as View -> TemplatesView Templates window.

* This feature is disabled in Starter Edition by Embarcadero Technologies. Sorry for this inconvenience.

Creating custom Live Templates

The best part of Live Templates is that you can provide your own and it is relatively simple to do so. Create your own templates that suit your business needs, add them to the IDE, and then use them when needed.
Templates are simple .xml files with .xml extension and they follow the same rules as other (Pascal/C++/...) RAD Studio templates.
RAD & Installer templates are stored separately for every version of RAD Studio - so you can create different ones for various RS versions.
Templates are stored globally for ALL users, per-user templates (e.g .C:\Users\<username>\Documents\RAD Studio\code_templates\) are not supported!

Follow these few simple rules for creating custom templates:

  • Note: Live Templates are not visible in Code Insight Code Completion window
  • Templates must be stored in these directories:
    • C:\Program Files (x86)\Embarcadero\Studio\<version>\ObjRepos\en\Code_Templates\NSIS\ - for NSISProject icon NSIS
    • C:\Program Files (x86)\Embarcadero\Studio\<version>\ObjRepos\en\Code_Templates\Inno Setup\ - for InnoSetupProject icon Inno Setup
  • Use 'Inno Setup' or 'NSIS' language for templates
  • Note: Path to RAD Studio can be different - depends on your installation
  • See the Using Live Templates article or Creating Live Templates for details.

Plug-ins recognition

RAD & Installer scans NSIS Plugins directory (both x86-ansi and x86-unicode in NSIS 3) instead of you and shows you all possible exports.
Do not look for manuals, documentation - simply hit Ctrl + Space and all possible exports are immediately shown in Code Insight Code Completion window (category Plugins).
Write your installers quickly and without useless errors!

* NSISProject icon NSISProject only

Full version control system support

If you are working on a large projects with multiple files, together with other people you know the situation: after some time without using Source Code Control (SCC) system the development chaos begins... It is possible to integrate various Source Code Control providers into RAD Studio: Git, Mercurial, Subversion, etc.
You can use them on your NSIS and Inno Setup Projects (because they are text based) and your development will be smooth!

Dynamic help system

RAD & Installer is really high tied with RAD Studion and also with NSIS and Inno Setup. If you used to use dynamic help system in your preferred programming language you can use it also for NSIS language and Inno Setup language.
Simply press F1 anytime you need a help and appropriate help (manual file) will be opened. Dymanic help is of course context sensitive! If you are not use about some parameter of you need more info about command then select it and press F1 - again manual is opened and selected item is immediately searched.
No more need for googling or looking for manuals is necessary. Save your time!

MessageBox Designer

User friendly (GUI) application for fast and easy creating of NSISProject icon NSIS script or InnoSetupProject icon Inno Setup MessageBox-es.

With this handy feature you do not need to manually write the code but you only select design of your desired MessageBox and appropriate code is generated.
You can also preview the MessageBox so you immediately see how it looks like and define its result (which button was clicked).

To use this feature run standalone application MessageBoxDesigner.exe in the installation directory (or from Start menu).

SetupProjects Converter utility

SetupProjects Converter is standalone application that can convert various installation systems into NSISProject icon NSIS (.nsi) or InnoSetupProject icon Inno Setup scripts (.iss). It is free and open-source (developed by unSigned).

Currently supported formats:

  • Microsoft Visual Studio Setup and Deploy projects (.vdproj)
  • InstallShield Limited Edition projects (.isl)
  • Advanced Installer Projects (.aip)

You can run this application from Start menu or you can find it in RAD & Installer installation directory.

Cross-version compatibility for all RAD Studio versions

When you create NSISProject icon NSIS Project or InnoSetupProject icon Inno Setup Project it is stored among other project types (Delphi/C++ Builder/...) in your Project Group.
But RAD & Installer projects are designed with Cross-version compatibility for all versions of RAD Studio! (currently 2009, 2010, XE - XE8, 10 Seattle - 10.4 Sydney). That means you can create the project (.nsisproj or .innoproj) in one IDE
(e.g. RS 2009) and open it later in another IDE (e.g. RS XE7) without any upgrade or conversion of project!
So you do not need to worry about "What happens when your IDE will become unsupported or outdated"!

Version checking and updating

It is very important to keep your software up-to-date. The latest software release contains important fixes and updates which may prevent many troubles during your work with the software.
RAD & Installer offers version checking at RAD Studio start (can be turned On or Off in Settings dialog) and manual checking.
The updater reads latest version info from our servers and offers you to download and install new version (if available). It also checks for latest NSISProject icon NSIS and InnoSetupProject icon Inno Setup versions so you do not need to visit their websites!

Dark Theme(s) support

Many programmers who work with a computer on daily basis can confirm that looking at a monitor or display for a long time is killing their eyes. Especially the light white colors are bad. That is a reason why more and more people prefer dark themes above light ones.
RAD & Installer contains support for dark themes in RAD Studio. If the Dark Theme option is turned on (Default is Off) the Code Editor and appropriate dialogs (Find ReferencesDark theme in Find References dialog
Dark theme in Find References dialog
, ...) are drawn with dark colors which is very similar to High contrast option in Windows.

Dark theme is detected automatically during installation and you can adjust it in Settings dialog (which sets predefined colors for dialogs, syntax highlighting and other elements).
If you made any changes or you need to adjust colors simply configure them easily in Tools -> Options -> Environment -> Fonts and Colors dialog for NSISnsis-colors
NSIS
, and Inno Setupinno-colors
Inno Setup


This feature works in all versions of RAD Studio, however to achieve the same design as shown in the pictures it requires two 3rd party experts to be installed:

  • Delphi IDE Colorizer (DIC) - a plugin which allows to skin the look and feel of the workspace of the IDE (XE2 and newer)
  • Delphi IDE Theme Editor (DITE) - a tool to customize the RAD Studio IDE color highlighting (2009 and newer).

Starting with RAD Studio 10.2 Tokyo (Update 2) the IDE supports Dark Theme natively. But for older versions you need to download and install these two 3rd party IDE experts to have the IDE completely in Dark Theme.

See the recommended settings for DICDelphi IDE Colorizer
Delphi IDE Colorizer
, and DITEDelphi IDE Theme Editor
Delphi IDE Theme Editor
to achieve the same design as shown in the pictures.

RAD & Installer Settings Dialog

In this dialog (click RAD & Installer -> Settings in RAD Studio's main menu) you can adjust most of the RAD & Installer properties. Certain options are common for both projects: NSISProject icon NSIS Project and InnoSetupProject icon Inno Setup Project and some are for specified feature only.

If you can see text "This feature can be adjusted in Settings dialog." then you can adjust specific feature in this dialog. Some settings may require the Project/Project Group reload or RAD Studio restart.
Please notice that not each feature is present in all versions of RAD Studio. So certain options in this dialog may have no effect.
See the RAD Studio versions and icons (2009 and 2010: RAD Studio 2009 - 2010 icon, XE to XE8: RAD Studio XE - XE8 icon, 10 Seattle - 10.3 Rio: RAD Studio 10 Seattle - 10.3 Rio icon, 10.4 Sydney - 12 Athens: RAD Studio 10.4 Sydney icon or Delphi: Delphi icon, C++ Builder: C++ Builder icon) or asterisk (*) for details.

Settings dialog is divided into three parts:

  • 1. Tree with categories (in the left) - RAD & Installer options are divided into several categories. Each category covers different features.
  • 2. Panel with options (in the right) - After you click category node in the Tree the right area is updated and appropriate options are shown.
  • 3. Control buttons (at the bottom) - Use the OK button to save your changes. Clicking the Cancel button discards all changes and closes the Settings dialog.