Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NSIS Special Builds set NSIS_MAX_STRLEN flag #1267

Closed
FromStoneage opened this issue Feb 15, 2017 · 7 comments · May be fixed by qcif/data-curator#563
Closed

NSIS Special Builds set NSIS_MAX_STRLEN flag #1267

FromStoneage opened this issue Feb 15, 2017 · 7 comments · May be fixed by qcif/data-curator#563

Comments

@FromStoneage
Copy link

FromStoneage commented Feb 15, 2017

  • Version: 13.6.0
  • Target: Windows

I'm reading over how to properly update PATH with the NSIS installer. On the very beginning of the wiki page, it says

WARNING: Strings longer than ${NSIS_MAX_STRLEN} will get truncated/corrupted. Do NOT use this function to update %PATH%. (See below for a link to an alternative implementation.)

The default NSIS_MAX_STRLEN size are 1024 byte?

I know electron-builder are using NSIS 3.0.1 but how would I tell if we are running the Speical Build? and how can we update the NSIS variable NSIS_MAX_STRLEN=8192 from custom nsh scripts?

Thank you!

@develar
Copy link
Member

develar commented Feb 15, 2017

Nsis will be changed to special build. For now you can override nsis in the cache (requires latest version of electron-builder).

@FromStoneage
Copy link
Author

I see, right make sense. Thanks @develar !!

@FromStoneage
Copy link
Author

@develar I did try the solution you suggested replacing the nsis from special build to .cache/electron-builder/nsis/nsis-3.0.1.8/

In your nsis.ts I found references and hash check for the latest version of nsis
const nsisPathPromise = getBinFromBintray("nsis", "3.0.1.8", "d9429cc33d06198b48b939e51f48fc95b3b7ccd5584dd9fe3f3f4eacce9d8275")
I wonder if this hash will be the cause of the error below?

Essentially the installer crashes at launch.

Problem signature:
Problem Event Name: APPCRASH
Application Name: test.exe
Application Version: 2.6.0.0
Application Timestamp: 584dca80
Fault Module Name: USER32.dll
Fault Module Version: 6.1.7601.23594
Fault Module Timestamp: 58249e1c
Exception Code: c0000005
Exception Offset: 0003f186
OS Version: 6.1.7601.2.1.0.256.48
Locale ID: 4105
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

Read our privacy statement online:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409

If the online privacy statement is not available, please read our privacy statement offline:
C:\Windows\system32\en-US\erofflps.txt

If you have plan to support the special build on the way, this can wait.

Thank you again!!

@develar
Copy link
Member

develar commented Feb 17, 2017

Please try 13.10.0

@FromStoneage
Copy link
Author

Thanks so much @develar !

I updated to electron-builder 13.10.0

and ran the same build script as I've always got the following error back. Any ideas?

> [email protected] pack:win /home/jonathan/Documents/Git/sdt
> build --win --x64

module.js:471
    throw err;
    ^

Error: Cannot find module 'bluebird-lst-c'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/home/jonathan/Documents/Git/sdt/node_modules/fs-extra-p/index.js:4:17)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)

npm ERR! Linux 4.4.0-62-generic
npm ERR! argv "/home/jonathan/.nvm/versions/node/v6.9.2/bin/node" "/home/jonathan/.nvm/versions/node/v6.9.2/bin/npm" "run" "pack:win"
npm ERR! node v6.9.2
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! [email protected] pack:win: `build --win --x64`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] pack:win script 'build --win --x64'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the sdt package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     build --win --x64
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs sdt
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls sdt
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/jonathan/Documents/Git/sdt/npm-debug.log

@develar
Copy link
Member

develar commented Feb 18, 2017

Fixed in 13.10.1.

@FromStoneage
Copy link
Author

Thank You @develar again !! Much much appreciated!

I've just tested and confirmed that with 13.11.1, nsis special build is able to append variable to PATH without running into NSIS_MAX_STRLEN math length at 1024 issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants