Archive: CallInstDLL frustrations


CallInstDLL frustrations
I'm using CallInstDLL to call an extension DLL I created for my project. When users install, however, the extension DLL cannot be found (apparantly).

The message they see in the details log is "Could not load: olinst.dll"

olinst.dll is of course the name of the extension DLL.

I have found very little documentation on extension DLLs, and absolutely nothing that addresses this. Do I need to put something in the .nsi to get NSIS to "include" it in the .exe installer or something?

Thanks in advance for the help


Sounds like you are using an old version of NSIS where CallInstDLL was the normal way of using extension dlls. If that is the case you need to use the File command to pack the dll into your installer.

In recent NSIS versions extension dlls are now known as plugins and are automatically looked for by NSIS (by default in the plugins dir), automatically packed and extracted, and can be called more simply, e.g. dll::funcname arg arg.

Current plugin documentation (which could be useful for old versions too) is on nsis.sf.net/Docs (direct link)