Skip to content
⌘ NSIS Forum Archive

InstallLib does not replace DLL

2 posts

JungiX#

InstallLib does not replace DLL

Hello,

in my setup I'm installing several DLL files as shared dll's by using the InstallLib macro.
The installation works fine, but when a DLL must be upgraded to a new version, the InstallLib will not replace it and leaves the old version!

#$ALREADY_INSTALLED is not defined

!insertmacro InstallLib DLL $ALREADY_INSTALLED NOREBOOT_NOTPROTECTED "some.dll" "$COMMONFILES\some.dll" $TEMP

As you see, it is not a file of a system directory, but the dll is (shared) installed on the system by several applications from my company (with NSIS).

Is there some point I'm missing here to "acivate" the replace feature?
kichik#
If you use NOREBOOT_NOTPROTECTED and the file is in use, it'll fail installing the file. You can't replace files that are in use without REBOOT_PROTECTED or REBOOT_NOTPROTECTED.