Archive: MultiLanguage.nsi example doesn't compile


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

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.


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.


Why should it compile? If you make it error tolerant for this thing, people will end up will completely messed up installers.