CodeSquid
16th September 2003 09:37 UTC
MultiLanguage.nsi example doesn't compile
The MultiLanguage.nsi example doesn't compile, due to an error in the MUI_LANGUAGEFILE_LANGSTRING macro in System.nsh
Look at line 1972 of System.nsh:
!undef "${NAME}"
If ${NAME} wasn't defined before calling the function, then compilation fails. Please change the code to the following:
!ifdef "${NAME}"
!undef "${NAME}"
!endif
Joost Verburg
16th September 2003 10:20 UTC
That is a macro parameter inside the Modern UI, not a normal define.
The example doesn't compile because many language files are outdated, see http://forums.winamp.com/showthread....hreadid=141398
I'm not going to remove these languages from the script, because the files should be updated soon. If you want to test it now, use languges like English, German, French etc. which have already been updated.
CodeSquid
16th September 2003 10:46 UTC
I know that some of the language files are outdated. But each script should be error-tolerant. In this special case the MUI_LANGUAGEFILE_LANGSTRING macro tries to undef something which hasn't been defined, something which can easily be fixed.
With the suggested change the example compiles, though with a lot of warnings.
Joost Verburg
16th September 2003 15:31 UTC
Why should it compile? If you make it error tolerant for this thing, people will end up will completely messed up installers.