From NSIS Wiki
This plugin is included with NSIS.
This plugin is basically the "heart" of the advanced features you see on NSIS. With this you can call any exported function from any DLL you wish. DLL functions are so complex that this plugin turns to be really difficult to be used by beginners, so it's recommended to read the manual and experiment with the examples provided first. Look at some of the features it has:
- Calls exported functions from DLL's, creates new structures, functions and structures located at specific memory addresses and interfaces, and creates new callback functions for usage with certain functions.
- Has 6 built-in functions: Alloc, Free, and Copy (memory functions), Call and Get (calling functions) and Int64Op (math function).
- Interacts with COM objects.
- Perform simple Mathematical operations on 64-bit integers, with 15 operators in total.
- Has its own private stack (lost when plugin is unloaded) + NSIS Stack.
- 7 basic parameter types for input and 6 for output on calls. Has implementation of pointers.
- Has additional options like to use "cdecl" call convention, to call "GetLastError()" after a DLL function is called, or to unload the DLL using FreeLibrary.
More information can be found inside the documentation.
- Allow only one installer instance
- Autorun.inf Generator
- Boot Configuration Functions Header
- Boot Into
- Browse for Folder
- Calling an external DLL using the System.dll plugin
- Check open ports
- Closing ALL Browsers Windows
- Closing ALL Internet Explorer Windows
- Convert GetFileTime results to day/month/year
- Detect TabletPC
- Detect User Locale Information (Language, Country, LangID, etc.)
- Detect User User Color Depth bits
- Determining free memory using the System plugin
- Escape ARP Job With New Process
- ExecWait and waiting for child processes with Job Objects
- Get File Size using the system plugin
- Get User's screen resolution
- Get a list of running processes
- Get process info
- Get the Special Folders Directories (System plugin)
- Get the system decimal delimiter
- Moving install window to a corner of the screen
- NSIS Service Lib
- Open/Close CD-ROM
- Play Sound
- Query BIOS serial number
- REG MULTI SZ Reader
- Refresh Desktop
- Replace File On Reboot
- Replace text in a file with the contents of other file
- Scheduled Tasks
- Sorting Components
- TextBox Styles (numeric, uppercase and lowercase)
- Windows Vista Folder Selection