You are here

NSIS Portable 3.0 Dev Test 1

3 posts / 0 new
Last post
John T. Haller
John T. Haller's picture
Offline
Last seen: 4 hours 55 min ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
NSIS Portable 3.0 Dev Test 1

I've packaged up NSIS 3.0 with the appropriate plugins for both ANSI launchers (Google Chrome) as well as Unicode launchers (Firefox) and apps (PA.c Updater, etc). The reason for the dev test is some additional functionality in the NSISPortable.exe launcher.

NSIS 3 is the first official release that is no longer ANSI only. Previously, PortableApps.com, Mozilla and others used a fork of NSIS called NSIS-Unicode to properly build multi-lingual installers for modern Windows since NSIS proper couldn't. Now, NSIS can compile to both ANSI and Unicode. It does, however, need updated code to know which. Specifically, a build setting "Unicode true" will set it to Unicode mode within the NSI script.

If you pass an NSI script to be compiled directly to NSISPortable.exe, it will check to ensure you have Unicode set to either true or false before passing it on. If you don't, it will warn you and allow you to set it either temporarily or permanently along with setting whether to enable high DPI mode on Windows 10. There can be some problems with this automated method and they are presented to the user as they build a script.

Download NSIS Portable 3.0 Dev Test 1
2MB download / 8MB installed
MD5: 8fec190a8a6440472370e98ae65f98bf

Release History
2016-11-10: First public release

Gord Caswell
Gord Caswell's picture
Offline
Last seen: 4 months 6 days ago
DeveloperModerator
Joined: 2008-07-24 18:46
Quick test results

TL;DR: Invisble character confirmed on addition of Unicode/Manifest lines, removal of NSIS_Unicode workarounds allows scripts to compile as expected, grammatical error in pop-up.

I've tested this against both Google Chrome Portable and Mozilla Firefox, Portable Edition. My results are as follows:

  1. Google Chrome Portable

    • When fed the nsi script, and told not to adjust it, the script compiles successfully, with the Chrome launcher working as expected thereafter.
  2. Mozilla Firefox, Portable Edition
    • Upon selecting to compile as Unicode, and add High-DPI, the invisible character is indeed inserted at the beginning of line 5, removing it allows the script to continue anew.
    • NSIS then complains about an invalid command "FindProc" in FirefoxPortableU.nsi, removing the applicable lines in CheckForPlatformSplashDisable.nsh allows the script to compile successfully, and the launcher functions as expected therafter.
  3. The initial pop-up asking about changing the file has a grammatical and/or spelling error in it: In the second paragraph, the first line should end either with "use a temporary file" (my preferred choice) or "use a temporary file later", as opposed to "file late".
    John T. Haller
    John T. Haller's picture
    Offline
    Last seen: 4 hours 55 min ago
    AdminDeveloperModeratorTranslator
    Joined: 2005-11-28 22:21
    FindProc, Fix Applied

    Unfortunately, the syntax for FindProc changed in this release. So that will need a manual fix.

    I also came up with a fix for the character. I'm inserting the lines between the 1st and 2nd line, to maintain any BOM at the file start. That way it should work with nearly everything and our code isn't trying to capture every case.

    Sometimes, the impossible can become possible, if you're awesome!

    Log in or register to post comments