150 likes | 280 Vues
Discover the power of Nullsoft Scriptable Install System (NSIS) for deploying applications and upgrades efficiently. NSIS, developed by Nullsoft, is a small, extensible, and responsive installer system favored by developers for its flexibility and no-cost model. This guide covers the basics of NSIS scripting, including structure, commands, and utilities. Learn about sample scripts and templates that streamline installation processes. Overcome common challenges, like string parsing limitations, and enhance your deployment strategy with custom pages and installer attributes.
E N D
Deal Your Best Hand Deploying Applications and Upgrades Using Nullsoft
What is it? • NSIS = Nullsoft Scriptable Install System • Developed by Nullsoft for • First released as PiMP (Plug-in Mini Packager) • Became NSIS
People Love it Because… ENGINE • Small • Extensible • Responsive • Free! 61% PLUG-IN ENGINE PLUG-IN PLUG-IN
People Leave it Because… • Assembler-like language • No debugger • Limited string parsing capabilities • Most of these issues have been solved!
Basics • Everything is a script • Assembler-like Commands • Runtime, Compile-Time, and Both • Jumps instead of If/Then, For/Next, etc. • LogicLib.nsh adds support for these though • Global Variables and Registers
Definitions • Installer Attributes • Commands that define look and behavior • Pages • Wizard pages presented to end user • Built-in pages available • Custom pages possible
Code Blocks • Sections • Represent installation components • Must have at least one • Functions • Called by user or in response to install events • Macros • Insert blocks of code • Defines • Compile-time constants
SRPUTIL.DLL • Add programs to the Windows Firewall Exception List • Start and Stop a hidden OpenEngine • Send any command • RDKINSTALL interacts with NSIS install progress page
SRP Templates • SRP_Template_OI.nsi • Template to install complete OI application • Creates uninstaller and registry entries • SRP_Template_RDK.nsi • Template to install RDK to existing OI app • Uses SRPUTIL.DLL for seemless integration • Simply fill in the definitions at the top
Thank You Any Questions?