NSIS (Nullsoft Scriptable Install System) is a free system for creating installation packages in Windows. Its main advantages over other similar programs are ease of use, wide functionality and the possibility to extend it with plug-ins. To learn how to work with NSIS, you can find detailed manuals and scripting examples on the vendor’s website.

NSIS distributions are created on the basis of scripts. Variables, functions completely control both installation and uninstallation of the product. Scripts can be used to add files and directories, make changes to the registry, edit text and binary files, create patches, manage environment variables, and even access the Windows API (via extensions).

The syntax of the NSIS language is quite simple and easy to read, and the main documentation for it is available here. Moreover, the program comes with a large number of examples (nsi format files are available in the Examples folder). Any code editor is suitable for editing nsi scripts, where syntax highlighting can be enabled without much effort. Many tasks are immediately unified by using a special plugin for the Eclipse IDE, EclipseNSIS, or Venis. Venis is an intuitive visual scripting environment.

If there is a need to extend the capabilities of the installer, certain features can be added. Plugins are written in C, C++, Delphi or other languages. Ready examples of extensions are available here. The functions are diverse: from visual effects of the installer to creating patches and accessing Windows API.

The installer can be compiled using the makensis tool, having previously selected the compression type – ZLib, BZip2 or LZMA. Besides, the installer itself takes up little space – only 34 KB.

The graphical interface of the installer is available in one of two versions – Classic or Modern. The more functional Modern (version 2.0 is currently in use) allows you to create installation wizard pages with text, fonts, images, dialogs, options, etc. The more functional Modern allows you to create installation wizard pages with text, fonts, images, dialogs, options, etc. The NSIS Dialog Designer program will help at this stage. It allows you to quickly design an interface and save the result in the nsdinc format, which can then be easily integrated into an .nsi script.

The NSIS environment has already proved itself for a long time, and the proof is the list of developers who use its capabilities. A simple scripting language, availability of all necessary functions, extensibility, availability of basic and additional tools – due to all this NSIS is a strong competitor to programs in this category.