Archive: Upgrade dll problem


Upgrade dll problem
hello,
i am trying to use the UpgradeDll macro, i copy and paste it in an "UpgradeDll.nsi"

but there is always this error:

GetTempFileName expects 1 parameters, got 2.
Usage: GetTempFileName $(user_var: name output)
Error in macro UpgradeDLL on macroline 43
Error in script "C:\Yehia\Developement\VB\mycss\Setup\Setup.nsi" on line 42 -- aborting creation process

but i think i am writing the roght parameter:
bla...
!include "UpgradeDll.nsi"
bla...
!insertmacro UpgradeDLL "C:\yehia\Developement\VB\mycss\Setup\RichTx32.ocx" "$SYSDIR\RichTx32.ocx" "$SYSDIR"

so what's the problem?
i attached the setup if this would help.


You're using a new function with an old NSIS. The UpgradeDLL from the online manual is built for the latest CVS version of NSIS, it won't work with b3. For more information about getting the latest CVS version see http://nsis.sf.net/


ok, i updated the english language file and makensis.exe and makensisw.exe and the modernui system file,

but the compiler found another error:
!insertmacro: MUI_SECTIONS_FINISHHEADER
!insertmacro: macro named "MUI_SECTIONS_FINISHHEADER" not found!
Error in script "C:\Yehia\Developement\VB\mycss\Setup\Setup.nsi" on line 91 -- aborting creation process

is this mui_sections_finishheader was removed in the new version?


When updating from CVS you should update everything, not just some of the files. If you don't, you'd get weird errors such as the one you got from UpgradeDLL.

Yes, MUI_SECTIONS_FINISHHEADER is no longer needed. There are many more changes, it would be best to just re-read the MUI readme. Also read this.


another stupid question, in the upgrade dll there a coment saying
;If you want to support Win9x, you can only use short filenames
; (8.3).

this means that this wouldn't work
!insertmacro UpgradeDLL "C:\yehia\Developement\VB\mycss\Setup\eSellerateEngine.dll" "$WINDIR\eSellerateEngine.dll" "$SYSDIR ???


Indeed. This won't work as you expect on Windows 9x. If eSellerateEngine.dll is in use while the installer is running then it will be deleted on reboot and the new file will be named something like eSelle~1.dll. This is a limitation of Windows 9x.


another question:
what happened to !define MUI_BRANDINGTEXT " " , it isn't working anymore


MUI no longer sets the branding text. You can use BrandingText as with normal scripts now.


thanks, anywhere to find a list of what modification were made to the script language?


thanks again for the help


Yep:

http://forums.winamp.com/showthread....hreadid=148146


thanks again and again
u' re a very helpful guy