Outdated: this has been released.
Application: Unicode NSIS
Category: Development
Description: Unicode NSIS is the Nullsoft Scriptable Installer System with unicode support packaged as a portable app. NSIS is the language used to write all of the launchers at PortableApps.com. Unicode NSIS contains the capabilities to deal with unicode utf-16LE.
Unicode NSIS Portable 2.46 & PortableApps.com InstallerU now have an official release !
(Unicode)NSIS Portable
PortableApps.com Installer
Unicode NSIS Portable 2.46 Development test 5 Online [960KB download / 8.88MB installed]
(MD5: 2162b7e0354b347321d4d12077cf9582)
PortableApps.com InstallerU 1.0.3 Development Test 3 [1.38MB download / 5.63MB installed]
(MD5: 58f1fedee25bf9b8f44b541ea3f0f889)
PortableApps.com AppCompactorU 1.1 Development test 1 [0.8MB download / 0.8MB installed] 2010/04/19
(MD5: c80bce11d2cb0e19bad688f832f8b790)
Release Notes for Unicode NSIS Portable 2.46:
Development Test 5 (2010-05-25):
- features added:
Updated the Registry.nsh to include 'nsExec::ExecToStack reg.exe'
Development Test 4 (2010-05-24):
- features added:
Updated the Registry plug-in
Updated launcher to PAL HG-tip 2010-05-24 - bug fix:
This should fix the registry restore issues on Wine - Note:
To make full use of the new Registry plug-in you'll need to update PAL with the latest HG-tip
Development Test 3 (2010-05-15):
- features added:
Updated Unicode NSIS to 2.46 (Binaries are identical with 2.46 rc 2)
Updated launcher to PAL HG-tip 2010-05-15 - bug fix:
This should fix the launcher bug for vista / Windows 7
And I included my fix for TrimWhite.nsh
Development Test 2 (2010-04-20):
- features added:
Updated Unicode NSIS to 2.46 rc2 & PAL beta 4
No more moving about of nsisconf.nsh, linking directly to the data\settings folder
Development Test 1 (2010-04-16):
- features added:
Updated Unicode NSIS to 2.46 rc1
Release Notes for Unicode NSIS Portable 2.45.1:
Development Test 7 (2010-04-16):
- features added:
Used latest PAL 2.0 beta 3
Include the new update of the registry plug-in what should fix an issue with XPsp2
Development Test 6 (2010-03-27):
- features added:
Used latest PAL 2.0 beta 2, pulled of Development repository 2010-03-27
Added PortableApps.comLauncherCustom.nsh, to check if ansi NSIS Portable or a local makensisw.exe is running. - Notes:
NSIS Portable (ansi) is not checking if Unicode NSIS Portable or even makensisw.exe is running.
And due to the both NSIS packages using the same executable names, if run at the same time, each launcher will be waiting for them to both be ended !
So then the NSIS registry key won't get cleaned up on exit
Development Test 5 (2010-03-07):
Development Test 4 (2010-02-04):
- features added:
Done away with all the alternative macros
Most standard used plugins are now included
Fully compatible, no need any more to modify your scripts from Ansi to unicode[edit:almost fully...]
Development Test 3 (2009-12-25):
Development Test 2 (2009-12-19):
Development Test 1 (2009-12-13): Initial release
Release Notes for PortableApps.comInstallerU 1.0.3:
Development Test 3 (2010-03-28):
- features added:
converted the language files with the proper code-pages
converted the 'InstallerWizard.nsi' to utf-16 to deal with the '®' not showing
included the recompiled executable which shows the '®'
Development Test 2 (2010-02-27):
- bugs fixed: The install paths are working. I updated all files in the 'nsis\include' folder, what fixed it.
Development Test 1 (2010-02-26): Initial release
- features:
Converted all languages to UTF-16 LE, but there could be some mistakes as I couldn't verify them all ! - known bugs:
The install path within the actual compiled installer is messed up!
NSISunz can not deal with wide-chars in the file path.(probably isn't a big issue thought)
The Unicode NSIS plug-ins List: (beta means: I recompiled and tested them)
TextFunc.nsh (beta: TextFunc_2010_07_01.zip) RealProgress (beta: RealProgress.zip)Original source nsisunz (beta: NSISunzU.zip)Original source NsisUnzU can't handle foreign characters within the extraction/ZIP-file path ! Registry (beta: RegistryU.zip)Original source this includes the new _RestoreKey function ! EnumINI (beta: EnumINI.7z) Original source is included NewTextReplace (beta: NewTextReplace)Original source EmbeddedLists (solved: EmbeddedLists.zip) newadvsplash (solved: newadvsplashu.zip)Note: Play sound doesn't work, for now ! inetc (solved: inetc-unicode.zip ) ExecDos (solved: execdosunicode.zip) FindProcDLL (solved: FindProcDLL Unicode bin.zip) md5dll (solved: Md5dll.zip) MoreInfo (solved: MoreInfo.1.0.1.2.zip)translated into C by KJD (PerditionC) DialogsEx (solved: DialogEx for Unicode) UAC (solved: UAC plug-in)
A few important notes ! (Read the Unicode NSIS manual for more info)
- The Unicode NSIS compiler reads all included scripts as utf-8, if it can't find a utf-16 bom. Overall this won't give major problems as most scripts just use latin characters, but specific symbols could get wrongly converted !
- For the same reason it is strongly recommended to convert the EULA's to utf-16LE! Like that it will be more obvious if this EULA accidentally gets included into an ansi installer !
- This does NOT count for the run-time commands.
'Read/WriteINIStr' depending on the existence of a utf-16le BOM, it will read/write as utf-16 or ANSI
'FileRead' will read as ANSI
'FileWrite' will write as ANSI
'FileReadUTF16LE' will read as utf-16
'FileWriteUTF16LE' will write as utf-16
${registry::StrToHex/HexToStr} are behaving differently then the ansi commands, probably I should include additional *UTF16LE commands soon, for compatibility ! - For any 'system::call' commands you should just remove the A, the plug-in should call the right API (A / W):
System::Call 'kernel32::CreateMutexA(i 0, i 0, t "${NAME}") i .r1 ?e' System::Call 'kernel32::CreateMutex(i 0, i 0, t "${NAME}") i .r1 ?e'
- To keep your script compatible, when experiencing additional behavior differences between the two NSIS packages, use:
!ifdef NSIS_UNICODE ;Unicode NSIS script (in utf-8) !else ;NSIS script (in ansi) !endif
BTW: BOM (Byte Order Mark), the first few bytes of a file to identify the files encoding. UTF-16LE = FF, FE or as word FEFF