FAQ

I already have a working NSIS script. Can I leverage it to create a Unicode installer?

Yes. Most scripts will convert very easily to a Unicode install script. Usually, all that needs to be done is convert the NSI script file from an ANSI text file to a UTF-16LE file or as of 2.42.3, UTF-8 file. This can be done via Window's notepad.exe which has an option to save a file as Unicode. Another way is to use the a2u converter.

Note that if you are using only ASCII characters in your NSI script, then as of 2.42.3, it will be recognized as UTF-8 and no reencoding will be required.

The only tricky part is if you are using the System plugin. Make sure that you are not calling the ANSI specific Win32 API. Most such API end with the letter A, for example: MessageBoxA(). Such API should either be converted to the tchar version such as MessageBox() or the wide-char version such as MessageBoxW().

Also, starting with version 2.38.1, the parameter type specifier 't' acts like a TCHAR*. It will specify a Unicode string in the Unicode version of NSIS and it will specify an ANSI string in the ANSI version. This should make your script conversion much easier.

Some Windows API like GetProcAddress() only take ANSI strings, so you should still look at your System calls carefully. Such API should use the new 'm' as the type specifier.

What Unicode encodings does Unicode NSIS support?

Unicode NSIS supports UTF-16LE, the Windows default, and as of 2.42.3, it supports UTF-8. UTF-16LE requires a BOM in the front of the file. UTF-8 does not require a BOM and Unicode NSIS will read UTF-8 files with or without a BOM. Notepad.exe, for example, will add a BOM to UTF-8 files but most Unix tools will not unless explicitly told to.

In any event, all the NSI, NSH files should be in some Unicode encoding supported by Unicode NSIS. The license file should also be either an RTF file, or a Unicode text file (UTF-16LE or UTF-8).

Where's the large string version of the Unicode NSIS?

What you are downloading since version 2.37.3 is the large string version of NSIS. I found that with the short strings, modifying the environment path was dangerous as many users have environment paths beyond 1024 characters long. So I've opted to make 8196 the default string length of the Unicode version of NSIS. There was hardly any difference in size of the installers I was creating with the bigger string lengths. With compression, the difference in string sizes seem not to matter.

However, the ANSI version offered on this site is the short string version (1024 characters long). This is to keep it consistent with the official NSIS distributable. If you want the large string version of the ANSI version of NSIS, go to the special builds page.

What languages does Unicode NSIS support currently?

The following are the list of languages currently supported in the Unicode version of NSIS.

    1. Afrikaans

    2. Albanian

    3. Arabic

    4. Basque

    5. Belarusian

    6. Bosnian

    7. Breton

    8. Bulgarian

    9. Catalan

    10. Cibemba

    11. Croatian

    12. Czech

    13. Danish

    14. Dutch

    15. Efik

    16. English

    17. Estonian

    18. Farsi

    19. Finnish

    20. French

    21. Galician

    22. Georgian

    23. German

    24. Greek

    25. Hebrew

    26. Hungarian

    27. Icelandic

    28. Igbo

    29. Indonesian

    30. Irish

    31. Italian

    32. Japanese

    33. Korean

    34. Kurdish

    35. Latvian

    36. Lithuanian

    37. Luxembourgish

    38. Macedonian

    39. Malagasy

    40. Malay

    41. Mongolian

    42. Norwegian

    43. Norwegian Nynorsk

    44. Pashto

    45. Polish

    46. Portuguese

    47. Portuguese Brazil

    48. Romanian

    49. Russian

    50. Serbian

    51. Serbian Latin

    52. Simplified Chinese

    53. Slovak

    54. Slovenian

    55. Spanish

    56. Spanish International

    57. Swahili

    58. Swedish

    59. Thai

    60. Traditional Chinese

    61. Turkish

    62. Ukrainian

    63. Uzbek

    64. Valencian

    65. Vietnamese

    66. Welsh

    67. Yoruba

How do I submit new language files or updates to language files?

For Unicode-only language files or language files that require Unicode to get access to the full character set of the language, please submit them to me at [jim at scratchpaper dot com]. If you are submitting a change to the ANSI language files, please use the NSIS translation forum.

What happened to the coffee donation link?

No one wanted to buy me any coffee and it seemed like I was panhandling. If you really want to buy me some coffee, you can Paypal me to my e-mail address. :)

What is your e-mail address?

My e-mail address is my first name at this domain address.