Nsis что это за программа

Features

NSIS can create Windows installers that are capable of installing, uninstalling, setting system settings, extracting files, etc. Because NSIS is based on script files, you can create both simple and advanced installers.

Small overhead size

NSIS is created to be small, fast and efficient. While other installers often add hundreds of kilobytes or several megabytes to your installer data, a full-featured NSIS installer has an overhead of only 34 KB.

Compatible with all major Windows versions

You can create a single installer that is compatible with Windows 95, Windows 98, Windows ME, Windows NT, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Sever 2008, Windows 7, Windows Server 2008R2, Windows 8, Windows Server 2012, Windows 8.1, Windows Server 2012R2, Windows Server 2016, Windows 10, and Windows 11.

Unique compression methods

You can choose between three different integrated compression methods (ZLib, BZip2, LZMA). The new 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.

Script based

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.

For standard installers or as a starting point for more complex ones, you can use one of the available script generation tools.

Multiple languages in one installer

One installer can support multiple interface languages. More than 40 translations are already included, but you can also create your own language files. RTL (right-to-left) languages such as Arabic and Hebrew are fully supported.

Many features and checks for the target system

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. Using provided plug-ins, you can even use Windows API.

Custom dialogs and interfaces

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.

Plug-in system

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 can also be compressed like other installation data and will only be included when you are using the provided features.

Support for web installation, file patching

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.

Project integration, different releases and automatic builds

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.

Easy and human readable file formats

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.

Portable Compiler

The NSIS compiler can be compiled for POSIX platforms like Linux and *BSD. Generated installer will still run on Windows only, but this way they can be generated without Windows or WINE.

Bigger list of features

  • Generates self-contained executable installers
  • Support for ZLib, BZip2 and LZMA data compression (files can be compressed individually or together)
  • Uninstall support (installer can generate an uninstaller)
  • Customizable user interface (dialogs, fonts, backgrounds, icons, text, checkmarks, images etc.)
  • Classic and Modern wizard interface
  • Fully multilingual, support for multiple languages (including RTL languages) in one installer. More than 40 translations are already available, but you can also create your own.
  • Page system: You can add standard wizard pages or custom pages
  • User selection of installation components, tree for component selection
  • Multiple install configurations (usually Minimal, Typical, Full), and custom configuration
  • Installer self-verification using a CRC32 checksum
  • Small overhead over compressed data size (34 KB with default options)
  • Ability to display a license agreement in text or RTF format
  • Ability to detect destination directory from the registry
  • 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)
  • Installers can be as large as 2GB
  • Optional silent mode for automated installations
  • A preprocessor with support for defined symbols, macros, conditional compilation, standard predefines
  • A lovely coding experience with elements of PHP and assembly (includes user variables, a stack, real flow control, etc.)
  • Installers have their own VMs that let you write code that can support:
    • File extraction (with configurable overwrite parameters)
    • File/directory copying, renaming, deletion, searching
    • Plug-in DLL calling
    • DLL/ActiveX control registration/unregistration
    • Executable execution (shell execute and wait options)
    • Shortcut creation
    • Registry key reading/setting/enumerating/deleting
    • INI file reading/writing
    • Generic text file reading/writing
    • Powerful string and integer manipulation
    • Window finding based on class name or title
    • User interface manipulation (font/text setting)
    • Window message sending
    • User interaction with message boxes or custom pages
    • Branching, comparisons, etc.
    • Error checking
    • Reboot support, including delete or rename on reboot
    • Installer behavior commands (such as show/hide/wait/etc.)
    • User functions in script
    • Callback functions for user actions

    Nullsoft Scriptable Install System

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    Wide Compatibility

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    Scripting Language

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    Scripting Language

    NSIS is script-based and allows you to create the logic to handle even the most complex installation tasks. Many plug-ins and scripts are already available: you can create web installers, communicate with Windows and other software components, install or update shared components and more.

    Example Script:

    ; Settings --------------------------------- Name "Hello World" OutFile "hello_world-1.0-setup.exe" RequestExecutionLevel user ; Pages ------------------------------------ Page components Page directory Page instfiles ; Sections --------------------------------- Section "section_name" section_name_index Call Dialog SectionEnd ; Functions -------------------------------- Function Dialog MessageBox MB_OK "Hello World" FunctionEnd

    Chapter 1: Introduction to NSIS

    The installer is your application’s first impression. Slow or unsuccessful software installations is one of the most irritating computer problems. A quick and user friendly installer is therefore an essential part of your software product. NSIS (Nullsoft Scriptable Install System) is a tool that allows programmers to create such installers for Windows. It is released under an open source license and is completely free for any use.

    NSIS creates installers that are capable of installing, uninstalling, setting system settings, extracting files, etc. 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. Even with all these features, NSIS is still the smallest installer system available. With the default options, it has an overhead of only 34 KB.

    1.2 Main Features

    Small overhead size

    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.

    Compatible with all major Windows versions

    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.

    Unique compression methods

    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.

    Script based

    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 NSIS Wiki you can find a lot more.

    Multiple languages in one installer

    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, targeting all the languages supported by the OS without display issues.

    Many features and checks for the target system

    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.

    Custom dialogs and interfaces

    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.

    Plug-in system

    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.

    Support for web installation, file patching

    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.

    Project integration, different releases and automatic builds

    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.

    Easy and human readable file formats

    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.

    1.3 Feature List

    • Generates self contained executable installers
    • Support for ZLIB, BZIP2 and LZMA data compression (files can be compressed individually or together)
    • Uninstall support (installer can generate an uninstaller)
    • Customizable user interface (dialogs, fonts, backgrounds, icons, text, checkmarks, images etc.)
    • Classic and Modern wizard interface
    • 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.
    • Page system: You can add standard wizard pages or custom pages
    • User selection of installation components, tree for component selection
    • Multiple install configurations (usually Minimal, Typical, Full), and custom configuration
    • Installer self-verification using a CRC32 checksum
    • Small overhead over compressed data size (34 KB with default options)
    • Ability to display a license agreement in text or RTF format
    • Ability to detect destination directory from the registry
    • 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)
    • Installers can be as large as 2GB
    • Optional silent mode for automated installations
    • A preprocessor with support for defined symbols, macro’s, conditional compilation, standard predefines
    • A lovely coding experience with elements of PHP and assembly (includes user variables, a stack, real flow control, etc.)
    • Installers have their own VMs that let you write code that can support:
    • File extraction (with configurable overwrite parameters)
    • File/directory copying, renaming, deletion, searching
    • Plug-in DLL calling
    • DLL/ActiveX control registration/deregistration
    • Executable execution (shell execute and wait options)
    • Shortcut creation
    • Registry key reading/setting/enumerating/deleting
    • INI file reading/writing
    • Generic text file reading/writing
    • Powerful string and integer manipulation
    • Window finding based on class name or title
    • User interface manipulation (font/text setting)
    • Window message sending
    • User interaction with message boxes or custom pages
    • Branching, comparisons, etc.
    • Error checking
    • Reboot support, including delete or rename on reboot
    • Installer behaviour commands (such as show/hide/wait/etc)
    • User functions in script
    • Callback functions for user actions
    • Completely free for any use. See license.

    1.4 Unicode installers

    Starting with NSIS v3.0 you can choose to create Unicode installers by setting the Unicode attribute. These installers will not work on Windows 95/98/ME but they will allow you to display your installer in any Unicode language supported by the OS.

    When building a Unicode installer NSIS variables can hold Unicode characters (0001-FFFF). There should be no need to modify your existing scripts. If you want to read/write Unicode files, specific instructions have been added to read/write UTF-16LE strings from/to disk.

    При подготовке материала использовались источники:
    https://nsis.sourceforge.io/Features
    https://nsis-dev.github.io/
    https://nsis.sourceforge.io/Docs/Chapter1.html

Оцените статью