Because it's based on script files you can fully control every part of your installer.
The scripting language supports variables, functions and string manipulation, just like a normal programming language - but designed for the creation of installers.
NSIS has been designed to be small, fast and efficient. While other installers often add hundreds of kilobytes or several megabytes to your installer data, a fully featured NSIS installer has a overhead of only 34 KB.
You can create a single installer that is compatible with Windows 95, 98, ME, NT4, 2000, XP, 2003, Vista, Server 2008, 7, Server 2008R2, 8, Server 2012, 8.1, Server 2012R2 and Windows 10.
You can choose between three different integrated compression methods (ZLib, BZip2, LZMA). LZMA compression gives better results than any other common compression method. You don't have to use large self-extracting archive modules or other applications, the compression support is included in the 34 KB overhead.
Unlike other systems that can only generate installers based on a list of files and registry keys, NSIS has a powerful scripting language. This script language is designed for installers and has commands that help you to perform many installation tasks. You can easily add custom logic and handle different upgrades, version checks and more. On the \W{https://nsis.sourceforge.io/wiki/}{NSIS Wiki} you can find a lot more.
One installer can support multiple interface languages. More than 60 translations are already included and you can also create your own language files. RTL (right-to-left) languages such as Arabic and Hebrew are fully supported. Creating a Unicode native installer is also possible for even more supported languages.
The script language provides commands you can use on the target system. From simple features like folder creation and registry editing to text/binary file modification, modification of environment variables and system reboots. By using one of the provided plug-ins you can even call the Windows API directly.
You can create custom wizard pages to get user input or integrate configuration options. NSIS includes a classic and modern wizard interface, but it is even possible to create your own custom interface.
NSIS can be extended with plug-ins that can communicate with the installer. They can be written in C, C++, Delphi or another language and can be used to perform installation tasks or extend the installer interface. You can use the plug-in with a single line of script code. Plug-ins are also be compressed like other installation data and will only be included when you are using their features.
\\<b\\>Support for web installation, file patching\\</b\\>
The NSIS distribution includes a set of plug-ins that allow you to download files from the internet, make internet connections, patch existing files and more.
\\<b\\>Project integration, different releases and automatic builds\\</b\\>
The NSIS compiler features a powerful preprocessor. This allows you to easily integrate multiple projects into a single installer or automatically generate installer builds. You can also generate different releases such as lite and full versions.
The NSIS script format and the format used for interface dialogs are easy, documented and humanly readable, so you can edit your files with your favorite editor. This also makes automatic script generation possible.
\b Fully multilingual, support for multiple languages in one installer. More than 60 translations are available, but you can also create your own. Unicode support allowing even more languages.
\b Easy to use plug-in system (lots of plug-ins for creation of custom dialogs, internet connections, HTTP downloading, file patching, Win32 API calls etc. are included)