When the NSIS compiler starts it scans the plug-ins directory for DLLs and makes a list of the plug-ins found and their exported functions. During compilation, if a sequence such as fred::flintstone is encountered where the compiler expected to find a language keyword the compiler will look through this list. If a list entry specifies that fred.dll exports function flintstone NSIS will pack the fred.dll file into the created installer binary.
A plug-in call looks like this:
4.11.2 Calling plug-ins manually
If you want to call a plug-in that is stored on user's hard drive or somewhere else, use CallInstDLL. Almost all plug-ins provide installer functionality, so using plug-in commands is way easier. Using can be useful when you have created plug-ins that are linked to a certain version of your application and are being copied to the installation folder.