The limit has been in place for a good ten years now, and there have been people over the years that have requested this limit be removed (myself included). The devs are a bit reluctant to add support, the patches shown so far aren't really 'nice' enough to be integrated.
My fork just adds to what's already there, I haven't removed anything from the original source. The only downside is that solid compression isn't supported, which is no biggie as it would just make the install slower.
Problems building NSIS
62 posts
Building NSIS with the free VC 2003 Toolkit on a clean Windows 2000 install
If you want to build the system plugin you also need MASM. If you want to build the NSIS menu you need to download wxwidgets. I'm building everything here.
- Download and install Python: https://www.python.org/ftp/python/2....thon-2.7.6.msi (On older systems you need Windows Installer 2.0 Redistributable: http://www.microsoft.com/en-us/downl....aspx?id=11176 -> http://www.microsoft.com/en-us/downl...5695C5A2143=1#)
- Download and install SCons: http://sourceforge.net/projects/scon...2.exe/download -> http://netcologne.dl.sourceforge.net....2.0.win32.exe
- Download and install HTML help workshop: http://download.microsoft.com/downlo...4/htmlhelp.exe (This is optional, it will generate HTML documentation instead of CHM if you don't do this)
- Download and install VC 2003 Toolkit: Google:"VCToolkitSetup.exe" (v13.10.3052, 32952488 bytes or v13.10.3077, 32948392 bytes)
- Download Platform SDK February 2003 (5.2.3790.0):
FOR /L %A IN (1,1,13) DO wget http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.%A.cab wget http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.bat wget http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/extract.exe REM (Download manually if you don't have wget) - Run PSDK-FULL.bat and then run the extracted setup and install the Core SDK and Internet Development SDK
- Download the Zlib library: http://nsis.sourceforge.net/Zlib (Zlib-1.2.7-win32-x86.zip)
- Download the NSIS source code, I used trunk r6644 r6646
- We are now ready to build, run "Set Windows 2000 Build Environment (Retail).lnk":
REM VC2003TK linker sometimes dies with "fatal error LNK1158: cannot run 'cvtres.exe'" because SCons fails to put it in %path% so I'm fixing that with: copy "%windir%\Microsoft.NET\Framework\v1.1.4322\cvtres*" "%VCToolkitInstallDir%\Bin\" cd C:\NSIS\trunk set PATH=%PATH%;C:\Program Files\HTML Help Workshop&REM set ZLIB_W32=C:\NSIS\dep\zlib&REM C:\Python27\Scripts\scons.bat MSTOOLKIT=yes VER_MAJOR=3 VER_MINOR=0 SKIPUTILS="NSIS Menu" SKIPPLUGINS=System PREFIX="c:\NSIS\NSIS" install
If you want to build the system plugin you also need MASM. If you want to build the NSIS menu you need to download wxwidgets. I'm building everything here.
Thank you very much Andres
followed your instructions verbatim
any idea why im getting this now?
followed your instructions verbatim
any idea why im getting this now?
Source\build.cpp(3389) : error C2589: '(' : illegal token on right side of '::'
Source\build.cpp(3389) : error C2059: syntax error : '::'
scons: *** [build\urelease\makensis\build.obj] Error 2
scons: building terminated because of errors. MSTOOLKIT=yes VER_MAJOR=3 VER_MINOR=0 SKIPUTILS="NSIS Menu" SKIPPLUGINS=System PREFIX="c:\NSIS\NSIS" installWhich version of the source files are you using?
trunk r6644
I don't see how that is possible, you must be using a different compiler or SDK version. Not all SDK and compiler versions can be combined.Originally Posted by MyPC8MyBrain View Postfollowed your instructions verbatim
any idea why im getting this now?
To fix it you need to play around with the STD_MIN/STD_MAX defines in platform.h

Which Microsoft tools configuration version is reported at the start of the scons output/log?
Using Microsoft tools configuration (3.5)
It should say 7.1 so something is clearly not right with the compiler detection. You could try adding MSVS_VERSION=7.1 to the scons command but I doubt that is going to help.Originally Posted by MyPC8MyBrain View PostUsing Microsoft tools configuration (3.5)
Unless you want to try on a clean machine I think you will have to debug our scons toolkit detection script. (somewhere under trunk\scons\)
sorry about that; i forgot to add toolkit switch to scons,
here the proper readout
here the proper readout
scons: Reading SConscript files ...
Mkdir("build\urelease\config")
Delete("nsis-28-Nov-2015.cvs")
Delete(".instdist")
Delete(".test")
Using Microsoft tools configuration (7.1)
Checking for memset requirement... no
Checking for memcpy requirement... no
Checking for C library gdi32... yes
Checking for C library user32... yes
Checking for C library pthread... no
Checking for C library iconv... no
Checking for C library shlwapi... yes
Checking for C library version... yes
Checking for C library zdll... yes
Checking for C library zdll... yes
Checking for C library zdll... yes
Checking for C library dl... no
Checking for C library gdi32... yes
Checking for C library iconv... no
Checking for C library pthread... no
Checking for C library user32... yes
Checking for C library version... yes
Checking for C library zdll... yes
Checking for C++ library cppunit... no
scons: done reading SConscript files. C:\Program Files\Microsoft Visual C++ Toolkit 2003>cl
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.
usage: cl [ option... ] filename... [ /link linkoption... ] What a painful process to get this to work,
Ive had enough trying to get this to compile on my XP, I think something else is not right with it,
I uninstalled my VS2012 on my Win7, reinstalled VS2015,
I was finally able to compile this successfully
VER_MAJOR=3 VER_MINOR=0 SKIPUTILS="NSIS Menu"PREFIX="D:\dev\nsis\myNSIS" install
Next I was trying to compile this
VER_MAJOR=3 VER_MINOR=0 PREFIX="D:\dev\nsis\myNSIS" install
Got few errors I was able to fix with these instructions,
solved the errors I hit initially; and moved on to new ones I can’t figure out how to get out of,
first error comes up
I have no idea how to answer the questions; I just answered yes to all; run a new build; old error is gone now and a new one came about,
it seems to be wxWidgets related; everything else works fine so far,
Ive had enough trying to get this to compile on my XP, I think something else is not right with it,
I uninstalled my VS2012 on my Win7, reinstalled VS2015,
I was finally able to compile this successfully
VER_MAJOR=3 VER_MINOR=0 SKIPUTILS="NSIS Menu"PREFIX="D:\dev\nsis\myNSIS" install
Next I was trying to compile this
VER_MAJOR=3 VER_MINOR=0 PREFIX="D:\dev\nsis\myNSIS" install
Got few errors I was able to fix with these instructions,
solved the errors I hit initially; and moved on to new ones I can’t figure out how to get out of,
first error comes up
scons: done reading SConscript files.
scons: Building targets ...
cl "/Fobuild\urelease\NSIS Menu\nsismenu\nsismenu.obj" /c "Contrib\NSIS Menu\nsismenu\nsismenu.cpp" /TP /nologo /GS- /O1 /W3 /MT /EHsc /D_CRT_SECURE_NO_WARNINGS /D_CRT_NONSTDC_NO_WARNINGS /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NON_CONFORMING_SWPRINTFS /DNSISCALL=__stdcall /D_UNICODE /DUNICODE /Ibuild\ure
lease\config /ID:\dev\wxWidgets\include /ID:\dev\wxWidgets\lib\vc_libunsis\mswu
nsismenu.cpp
D:\dev\wxWidgets\include\wx/platform.h(183): fatal error C1083: Cannot open include file: 'wx/setup.h': No such file or directory
scons: *** [build\urelease\NSIS Menu\nsismenu\nsismenu.obj] Error 2
scons: building terminated because of errors. then I went through prepping NSIS menu with wxbuild.bat in nsis-code-6644-NSIS-trunk\Contrib\NSIS Menu\wx\I have no idea how to answer the questions; I just answered yes to all; run a new build; old error is gone now and a new one came about,
scons: done reading SConscript files.
scons: Building targets ...
cl "/Fobuild\urelease\NSIS Menu\nsismenu\nsismenu.obj" /c "Contrib\NSIS Menu\nsismenu\nsismenu.cpp" /TP /nologo /GS- /O1 /W3 /MT /EHsc /D_CRT_SECURE_NO_WARNINGS /D_CRT_NONSTDC_NO_WARNINGS /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NON_CONFORMING_SWPRINTFS /DNSISCALL=__stdcall /D_UNICODE /DUNICODE /Ibuild\ure
lease\config /IC:\wxWidgets-3.0.2\include /IC:\wxWidgets-3.0.2\lib\vc_libunsis\mswu
nsismenu.cpp
C:\wxWidgets-3.0.2\include\wx/chkconf.h(88): fatal error C1189: #error: "wxUSE_ANY must be defined, please read comment near the top of this file."
scons: *** [build\urelease\NSIS Menu\nsismenu\nsismenu.obj] Error 2
scons: building terminated because of errors. Been chasing my tail with this few hours now, any advice how to get over this error?it seems to be wxWidgets related; everything else works fine so far,
Yes, it is going to be difficult when you can't follow basic directions. The building NSIS part of the documentation tells you to use wxWidgets v2.8. If VS2015 cannot handle that version then you might need to tinker with v3 to make it work and perhaps submit a patch...
don't get me wrong Andres,
i have followed your instruction to the T on my XP box,
i think i have other unrelated issues going on there;
ill keep trying to get VS2015 to play nice with wxWidgets v3
i have reverted to v2.8 on my Win7 test install;
the error went away but a new one came instead; ill keep digging,
i have followed your instruction to the T on my XP box,
i think i have other unrelated issues going on there;
ill keep trying to get VS2015 to play nice with wxWidgets v3
i have reverted to v2.8 on my Win7 test install;
the error went away but a new one came instead; ill keep digging,
I made a small change for 2003 TK, you can retry on XP with r6646.Originally Posted by MyPC8MyBrain View Postdon't get me wrong Andres,
i have followed your instruction to the T on my XP box,
i think i have other unrelated issues going on there;
Building NSIS with the free VC 2003 Toolkit on a clean Windows XP SP0 install
Doing it this way is complicated and is only required if you want to distribute a custom NSIS build, I would recommend just skip building the NSIS menu like I did in my other guide.
- Follow my guide for Win2000
- Download MASM. (You only need ML.EXE and ML.ERR)
- If you have a valid Visual Studio license you can grab MASM from the VS6 processor pack. Otherwise you can grab it from the 95, 98 or NT 3.5 DDK or install VS 2005 express and grab MASM from here
- Download and install wxWidgets: https://github.com/wxWidgets/wxWidge...8.12-Setup.exe
- Build the wxWidgets NSIS bits:
- Open a new Platform SDK Windows 2000 build environment console and run:
"%VCToolkitInstallDir%\vcvars32.bat"&REM Make sure it finds 2003 TK set PATH=%PATH%;C:\Program Files\Microsoft SDK\Bin\Win64&REM Fix 2003Feb SDK set WXWIN=C:\wxWidgets-2.8.12&REM cd "c:\NSIS\trunk\Contrib\NSIS Menu\wx\" wxbuild.bat&REM Just answer yes to everything pause&exit
- Open a new Platform SDK Windows 2000 build environment console and run:
- We are now ready to build everything. Open a new Platform SDK Windows 2000 build environment console and run:
cd c:\NSIS\trunk set PATH=%PATH%;C:\Program Files\HTML Help Workshop&REM set ZLIB_W32=C:\NSIS\dep\zlib&REM set WXWIN=C:\wxWidgets-2.8.12&REM C:\Python27\Scripts\scons.bat MSTOOLKIT=yes PATH=c:\MASM VER_MAJOR=3 VER_MINOR=0 dist-installer
Doing it this way is complicated and is only required if you want to distribute a custom NSIS build, I would recommend just skip building the NSIS menu like I did in my other guide.
Thank you Andres, 🙂
ill give this another go on my XP,
on my other W7 machine spent the time to updated Setup.h template to latest wxWidgets v3 Setup0.h
im about to give it a test soon; im not sure all the settings i used are correct though;
my updated Setup.h attached if you want to take a look,
(these changes are required to run with v3 & VS2012 and up)
im off to test XP again 😎
ATB
Chris
ill give this another go on my XP,
on my other W7 machine spent the time to updated Setup.h template to latest wxWidgets v3 Setup0.h
im about to give it a test soon; im not sure all the settings i used are correct though;
my updated Setup.h attached if you want to take a look,
(these changes are required to run with v3 & VS2012 and up)
im off to test XP again 😎
ATB
Chris
thank you very much Andres,
totally WORKED, no errors no issues!
release build completed with all options! WOW 😐
this is the first time i saw the menu's build; i know then it will work,
i think MASM didn't work right in all my attempts (i had it installed just not in path!)
i noticed it on my W7 after i added a pause to the batch;
(MASM installer -> http://www.masm32.com/masmdl.htm)
i added it to path prior but i didn't get any results;
i was just too frustrated from failing attempts; everything was just a mess before that,
i uninstalled; reinstalled as instructed;
only this time i actually used the win2000 command window!
in previous attempts; i cant explain why; i saw the 2000 link instructions;
i was convinced you had this posted before for W2000 and never changed the instructions 🙂
as i was going through my program menu; i first saw the Microsoft Visual C++ Toolkit 2003 folder;
inside i saw the command shortcut; which i dragged to my desktop and used it throughout,
my mind made the association from the 2003 TK i installed just before that,
i never realized i was in the wrong environment all along, (yes i know... 😉 )
Thank you both Jason and Andres for your time and patience; much appreciated 👍
ATB
Chris
totally WORKED, no errors no issues!
release build completed with all options! WOW 😐
this is the first time i saw the menu's build; i know then it will work,
i think MASM didn't work right in all my attempts (i had it installed just not in path!)
i noticed it on my W7 after i added a pause to the batch;
(MASM installer -> http://www.masm32.com/masmdl.htm)
i added it to path prior but i didn't get any results;
i was just too frustrated from failing attempts; everything was just a mess before that,
i uninstalled; reinstalled as instructed;
only this time i actually used the win2000 command window!
in previous attempts; i cant explain why; i saw the 2000 link instructions;
i was convinced you had this posted before for W2000 and never changed the instructions 🙂
as i was going through my program menu; i first saw the Microsoft Visual C++ Toolkit 2003 folder;
inside i saw the command shortcut; which i dragged to my desktop and used it throughout,
my mind made the association from the 2003 TK i installed just before that,
i never realized i was in the wrong environment all along, (yes i know... 😉 )
Thank you both Jason and Andres for your time and patience; much appreciated 👍
ATB
Chris
PREFIX="c:\MASM"?Originally Posted by Anders View PostC:\Python27\Scripts\scons.bat MSTOOLKIT=yes PATH=c:\MASM VER_MAJOR=3 VER_MINOR=0 dist-installer
No.Originally Posted by MyPC8MyBrain View PostPREFIX="c:\MASM"?
When using the install command then the compiler is installed to PREFIX.
I'm doing a dist-install here and that builds the installer that we distribute, PREFIX is not used.
PATH just adds to %PATH% in the SCons environment and I had to tell SCons where to find MASM.
strange,
i didn't change the link you posted; yet everything worked!
only my masm is here C:\masm32
i didn't change the link you posted; yet everything worked!
only my masm is here C:\masm32
Just on a side note, NSIS Menu still compiles fully without warnings using wxW 3.0 on ubuntu 14.04, same goes for my zip2exe port.
Got a bit ahead of myself, zip2exe (wxW 3.0) is throwing runtime assert failures due to an undefined unicode character (which I already knew about).Originally Posted by JasonFriday13 View PostJust on a side note, NSIS Menu still compiles fully without warnings using wxW 3.0 on ubuntu 14.04, same goes for my zip2exe port.
thank you for the HU Jason, i was wondering about that 🙂
followed the same implementation that worked for my XP on my win8.1,
VSToolKit03, Scons 1.21, xW 2.8, Python 2.7, no other VS installed, MASM32 didn't like my Win8.1;
since its portable i moved the one that built OK on my XP to Win8.1 C root,
build menu part went perfect; then building NSIS itself im getting this annoying error
System.dll: unable to find assembler for Call.S
with script later failing with link 119 120
any ideas how to fix this?
TIA,
Chris
VSToolKit03, Scons 1.21, xW 2.8, Python 2.7, no other VS installed, MASM32 didn't like my Win8.1;
since its portable i moved the one that built OK on my XP to Win8.1 C root,
build menu part went perfect; then building NSIS itself im getting this annoying error
System.dll: unable to find assembler for Call.S
with script later failing with link 119 120
any ideas how to fix this?
TIA,
Chris
Use scons PATH=c:\path\to\masm ...Originally Posted by MyPC8MyBrain View Post
build menu part went perfect; then building NSIS itself im getting this annoying error
System.dll: unable to find assembler for Call.S
with script later failing with link 119 120
any ideas how to fix this?
Thank you Andres,
i have been applying path for masm
C:\Python27\Scripts\scons.bat MSTOOLKIT=yes PATH=C:\MASM VER_MAJOR=3 VER_MINOR=0 dist-installer
TIA,
Chris
i have been applying path for masm
C:\Python27\Scripts\scons.bat MSTOOLKIT=yes PATH=C:\MASM VER_MAJOR=3 VER_MINOR=0 dist-installer
TIA,
Chris
Is the filename for masm the same as the one on the xp box?
yes, i tried maybe the folder name needs to be MASM or MASM32 neither worked; on my XP it is named MASM32
on my win8 it is sitting in C:\MASM32 the only rename i did was to the folder itself no files were renamed inside,
i run C:\Python27\Scripts\scons.bat MSTOOLKIT=yes PATH=C:\MASM32 VER_MAJOR=3 VER_MINOR=0 dist-installer
same results
on my win8 it is sitting in C:\MASM32 the only rename i did was to the folder itself no files were renamed inside,
i run C:\Python27\Scripts\scons.bat MSTOOLKIT=yes PATH=C:\MASM32 VER_MAJOR=3 VER_MINOR=0 dist-installer
same results
How old is the masm version? Try finding one that is 32 bit, because old 16 bit programs don't work on 64 bit Windows.