Archive: upgrade DLL such msvcrt40.dll mfc42.dll etc...


upgrade DLL such msvcrt40.dll mfc42.dll etc...
Hi every body,

I've seen on this forum many subjects about upgrading DLL.
Is there a good sample of script to upgrade system DLL such msvcrt40,
mfc42 etc..... ?
I would like my nsis script ask the user to reboot the system as Installshield does.
I've seen a lot of samples, but I can't choose a good one...
Who can help me ?

Thanks a lot for your answers....


Have a look at the 'Useful functions' appendix in the NSIS 2 documentation. I wrote a new UpgradeDLL macro which does everything for you.

The new Modern UI Finish page automatically asks for a reboot, but you can also use IfRebootFlag.


Thanks a lot for your answer joost.
Where can I find the NSIS 2 documentation ?
I use the french NSIS 1.96 version.
If I have many DLL to upgrade. Is it possible to upgrade all the DLL and ask the user to reboot only at the end ?
A macro is copied in the source code every times which is called.
Is it possible to do a function to replace it ?

Sorry the these stupid questions,.... but I'm a Junior member ...:::)))

....And I try to replace all our Installshield packages with NSIS.


You can download the latest NSIS 2 snapshot at http://nsis.sf.net

NSIS 2 has full multilanguage support, so there is no need to use a customized French version anymore. French language files are also included.


For joost.....
Can you tell me why a NSIS 1.98 script doesn't compile with the NSIS 2 ?
Nothing of my script has changed .... and it doesn't compile...

Why ?


Please don't start a new topic for every question.

How should I know what the problem is? Post the compile errors :)


A macro is copied in the source code every times which is called. Is it possible to do a function to replace it ?
It is written as a macro so the File command will add the size of the DLL to the section it's in. If it was a function the size would be added to the function and it wouldn't show on the components page.