- NSIS Discussion
- I get "Internal compiler error #12345" when compiling large installers
Archive: I get "Internal compiler error #12345" when compiling large installers
s1994928
23rd February 2009 14:14 UTC
I get "Internal compiler error #12345" when compiling large installers
I'm using version 2.44 of NSIS, and my disk free space have around 22GB (My disk is using NTFS).
When compiling my script to pack my files (around 7GB), I get these error text:
---------------------------------------------------
Internal compiler error #12345: error mmapping file (xxxxxxxxxx, xxxxxxxx) is out of range.
Note: you may have one or two (large) stale temporary file(s)
left in your temporary directory (Generally this only happens on Windows 9x).
---------------------------------------------------
How to solve this problem?
I'm from Taiwan.... If my meaning is not clear, I'm sorry.
Takhir
23rd February 2009 15:26 UTC
12345 forum search http://forums.winamp.com/search.php?...der=descending
And I remember 2GB limit for single file installer.
pengyou
24th February 2009 10:01 UTC
There is also a NSIS FAQ which covers this and many other topics:
http://nsis.sourceforge.net/FAQ
s1994928
24th February 2009 10:49 UTC
Originally posted by Takhir
12345 forum search http://forums.winamp.com/search.php?...der=descending
And I remember 2GB limit for single file installer.
In NSIS Users Manual ( 1.3 Feature List ), there have a text "Installers can be as large as 2GB".
Why it can't pack files which around 7GB?
jaromanda
24th February 2009 12:15 UTC
Originally posted by s1994928
In NSIS Users Manual ( 1.3 Feature List ), there have a text "Installers can be as large as 2GB".
Why it can't pack files which around 7GB?
that's right
s1994928
24th February 2009 12:31 UTC
Originally posted by jaromanda
that's right
How to solve this problem?
Animaether
24th February 2009 12:52 UTC
Place your datafiles into a separate folder from the .exe, use CopyFiles instruction to copy the file(s) from that location to the intended install location. If you're distributing this over the web, then archive this distibution using your favorite > 2GB archiver (RAR, 7zip?)* or create an ISO file**
* Some of the archivers let you build a self-extracting archive that works like a .exe, and which let you specify a program to run when done extracting.. i.e. your actual installer.
** ISO files are pretty commonly used when distributing huge datasets. The user can then opt to burn this to CD/DVD or mount directly using e.g. Microsoft's virtual CD.
s1994928
24th February 2009 13:16 UTC
Originally posted by Animaether
Place your datafiles into a separate folder from the .exe, use CopyFiles instruction to copy the file(s) from that location to the intended install location. If you're distributing this over the web, then archive this distibution using your favorite > 2GB archiver (RAR, 7zip?)* or create an ISO file**
* Some of the archivers let you build a self-extracting archive that works like a .exe, and which let you specify a program to run when done extracting.. i.e. your actual installer.
** ISO files are pretty commonly used when distributing huge datasets. The user can then opt to burn this to CD/DVD or mount directly using e.g. Microsoft's virtual CD.
Thanks.
I will try it when having free time.
Comperio
24th February 2009 17:21 UTC
You may want to read this too:
http://nsis.sourceforge.net/Multi-volume_Distribution
And here's the page for the CabDLL plugin:
http://nsis.sourceforge.net/CabDLL_plug-in
s1994928
25th February 2009 12:33 UTC
Originally posted by Comperio
You may want to read this too:
http://nsis.sourceforge.net/Multi-volume_Distribution
And here's the page for the CabDLL plugin:
http://nsis.sourceforge.net/CabDLL_plug-in
Thanks, I will try CabDLL...
I want to ask a question....
Could I use File instruction to pack cabinet file into installer?
For example:
------------------------------------
SetOutPath "$TEMP"
File "cabinet_file.cab"
CabDLL::Ca******ctAll "$TEMP\cabinet_file.cab" $INSTDIR
------------------------------------
s1994928
26th February 2009 13:13 UTC
I also find a plugin "nsis7z", it can extract 7-Zip file.
However, I ultimately hope that I can pack files without these plugin...
Really no other way to realize it?
s1994928
27th February 2009 13:49 UTC
Why not fix this limit?
It is very inconvenient.
I want to install with only one setup application.
T.Slappy
9th December 2012 10:46 UTC
Recently I came across this error (#12345) and after some searching I found out it is NOT always tied with 2GB limit.
In my case the problem was in insufficient disk space on C:\ drive (Temp directory was located there).
Makensis.exe could not create temporary files required for building the resulting .exe file.
Resulting .exe was about 90MB big but my C:\ drive has about 40MB of left space so it was not enough to build it correctly.