PDA

View Full Version : Upgrade DLLs ONLY if the installed version is lower?


Snover
5th May 2003, 21:25
I'm not sure how to work this, since there is no inequality stuff in NSIS that I know of. I can GET the DLL version sure and I can check if they are EQUAL but as far as I know there's no way of doing this. So, anyone?

Joost Verburg
5th May 2003, 21:45
Use the UpgradeDLL macro. You can find this macro in the NSIS 2 documentation or in the archive: http://nsis.sourceforge.net/archive/viewpage.php?pageid=38

And about the inequality stuff: IntCmp can jump to different locations when the value is lower, equal or higher.

Sunjammer
5th May 2003, 21:46
Well IntCmp (http://nsis.sourceforge.net/Docs/Chapter4.html#4.9.4.12) won't jump anywhere in the case of <> so that's at least one way.

Snover
5th May 2003, 22:09
Can I concatenate strings and then test?

Joost Verburg
6th May 2003, 11:31
What do you mean? And why not use UpgradeDLL?

Snover
6th May 2003, 18:16
Does UpdateDLL actually check versions before it upgrades? I was under the impression that it just automated the process of reboot-overwriting DLLs that couldn't be removed.

Joost Verburg
6th May 2003, 21:24
UpgradeDLL first checks the version. It only updates if an older DLL is installed. It also handles registering, reboots, register-on-reboot etc.