Old 16th March 2015, 16:58   #1
rFactorBrother
Junior Member
 
Join Date: Mar 2015
Posts: 7
Unhappy NSIS "Internal compiler error #12345"

Hey guys,
I am a new user here, and I have a problem. I want to make a collection of rFactor Mods in an installer made with NSIS and I have for that the HM NIS Editor, which has got an assistant. I made the script with it and I wanted to build the installer, but at one point, at a file, it gives me an "Internal compiler error #12345: error mmapping file (2129564385, 15990539) is out of range."

Here is the last few lines of the LOG:
File: "fordin_low.wav" [compress] 340489/627856 bytes
File: "fordin_max.wav" [compress]
Internal compiler error #12345: error mmapping file (2129564385, 15990539) 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).

Why did that happen? I have Windows 8.1 with NSIS 2.46 and there were no errors in the script itself. I have attatched a zip file containing the whole log file.

Thank you all in advance
Attached Files
File Type: zip output.zip (57.5 KB, 342 views)
rFactorBrother is offline   Reply With Quote
Old 16th March 2015, 18:08   #2
Anders
Moderator
 
Anders's Avatar
 
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,181
NSIS installers are limited to 2gb. You could try using solid compression or playing with the other compression settings...

IntOp $PostCount $PostCount + 1
Anders is offline   Reply With Quote
Old 18th March 2015, 15:54   #3
rFactorBrother
Junior Member
 
Join Date: Mar 2015
Posts: 7
Ok, so what compressor makes the files as small as possible? My files in all are about 16,5 GB and if NSIS doesn't get it compressed to < 2 GB, can I make a change in the script that the installer takes the files from an external data file?
rFactorBrother is offline   Reply With Quote
Old 18th March 2015, 16:51   #4
Anders
Moderator
 
Anders's Avatar
 
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,181
SetCompressor /Solid LZMA is usually the best but you are probably not going to fit 16gb unless it is very compressable.

You can copy files with the CopyFiles instruction or use one of the unzip plugins...

IntOp $PostCount $PostCount + 1
Anders is offline   Reply With Quote
Old 18th March 2015, 17:23   #5
rFactorBrother
Junior Member
 
Join Date: Mar 2015
Posts: 7
Ok, is it possible to do so in the HM NSIS Editor in the Wizard or in the finished script?
And how can I exactly do that unzip plugin with the installer? Btw I just discovered NSIS a few days ago and I just made a very small tutorial and I found out that the HM Editor has got a wizard, so i made this script with the wizard but now i've got that problem
rFactorBrother is offline   Reply With Quote
Old 18th March 2015, 20:51   #6
aerDNA
Senior Member
 
aerDNA's Avatar
 
Join Date: Feb 2007
Location: Rijeka, Croatia
Posts: 225
Wizard-produced script can be a start but anything extra requires hand-coding.
My suggestion - since you're dealing with this much data you might benefit from the new RAR5 format that supports dictionary sizes up to 1GB (in WinRAR x64). You can decompress with UnRAR.exe, which is freely distributable afaik. You would have something like this:
PHP Code:
Section UnRAR

IfFileExists 
"$EXEDIR\Data.bin" +3
MessageBox MB_OK
|MB_ICONSTOP "Data.bin not found."
Abort
File 
/oname=$PLUGINSDIR\UnRAR.exe UnRAR.exe # use x86 version for decompression
DetailPrint "Extracting data..."
nsExec::ExecToLog '"$PLUGINSDIR\UnRAR.exe" x -y "$EXEDIR\Data.bin" "$INSTDIR"'
Pop $0
StrCmp 
$0 0 +3
MessageBox MB_OK
|MB_ICONSTOP "Error extracting data."
Abort

SectionEnd 

PostEnd:
aerDNA is offline   Reply With Quote
Old 18th March 2015, 21:13   #7
rFactorBrother
Junior Member
 
Join Date: Mar 2015
Posts: 7
So if i gt you right, I'll need WinRAR? I have 7zip and by the way I looked a bit around in the forums and I found a plugin called CABSetup but I will need to figure out how to use it after making a wizard-made script
rFactorBrother is offline   Reply With Quote
Old 18th March 2015, 21:40   #8
aerDNA
Senior Member
 
aerDNA's Avatar
 
Join Date: Feb 2007
Location: Rijeka, Croatia
Posts: 225
You'd want CABSetup if you needed your install to span on multiple physical media. If you'll be distributing over the wire there are better choices, with better compression. For what I suggested, yes, you need WinRAR to prepare the data. On the target system you only need to extract UnRAR.exe (~300 KB). You can also use 7zip, and there are NSIS plugins for that. I only suggested RAR5 because in your case it could potentially save more space.
P.S. In the code I posted you also need AddSize, so installer knows how much space is required.

PostEnd:
aerDNA is offline   Reply With Quote
Old 19th March 2015, 16:39   #9
rFactorBrother
Junior Member
 
Join Date: Mar 2015
Posts: 7
Ok, so theoretically I put all files (I mean, i have the components in seperate folders, like the component "F1 1967" in a 1967 folder and a component "F1 1979" for example in a F1 1979 folder) in a rar archive with compression RAR5, and I found a 7zip Plugin (http://nsis.sourceforge.net/Nsis7z_plug-in , i hope i am allowed to post this link), so I should use this?
rFactorBrother is offline   Reply With Quote
Old 19th March 2015, 17:36   #10
aerDNA
Senior Member
 
aerDNA's Avatar
 
Join Date: Feb 2007
Location: Rijeka, Croatia
Posts: 225
No. If you're going to use that plugin, use 7z with LZMA compression. No plugin at this point can unpack RAR5. That's why I gave you a code sample with UnRAR.exe. "You can also use 7zip, and there are NSIS plugins for that." meant you can use 7z as a compression alternative to RAR.

PostEnd:
aerDNA is offline   Reply With Quote
Old 19th March 2015, 19:01   #11
rFactorBrother
Junior Member
 
Join Date: Mar 2015
Posts: 7
Ah okay ^^
rFactorBrother is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Developer Center > NSIS Discussion

Tags
error, nsis, temporary files

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump