# "Out of Memory" - InnoSetup 5.3.5

**URL:** https://www.finalbuilder.com/forums/t/out-of-memory-innosetup-5-3-5/3175
**Category:** Bugs
**Created:** [November 9, 2009, 2:53am UTC](https://www.finalbuilder.com/forums/t/out-of-memory-innosetup-5-3-5/3175 "2009-11-09T02:53:38Z")
**Posts on this page:** 10
**Page:** 1

<div class="post-metadata">

### Author: ![flowsoftware](https://www.finalbuilder.com/forums/letter_avatar_proxy/v4/letter/f/91b2a8/32.png) [@flowsoftware](https://www.finalbuilder.com/forums/u/flowsoftware)
#### Post date: [November 9, 2009, 2:53am UTC](https://www.finalbuilder.com/forums/t/out-of-memory-innosetup-5-3-5/3175/1 "2009-11-09T02:53:38Z")

</div>

We're getting a strange "out of memory" error trying to recompile an InnoSetup script using the InnoSetup action in Finalbuilder. &nbsp;This does not appear to be related to any of the "out of memory" errors previously encountered in InnoSetup's earlier versions.

Here's the log output (I've removed all the successful parsing and directory creation messages:

[ISPP] Preprocessed.

Parsing [Setup] section, line 42

...

Parsing [Files] section, line 175

Compiling [Code] section

Creating setup files

&nbsp;&nbsp; Updating icons (SETUP.EXE)

**&nbsp;&nbsp; Compressing: e:\build\install\bin\ServHelp.dll**

**Out of memory.**

**File :&nbsp;**

**Line : 0**

**There was an error compiling or it was aborted by the application**

&nbsp;

If I replace the InnoSetup action with a generic "Execute Program" action, running the ISCC.EXE compiler directly, then our InnoSetup script compiles successfully without any such errors. &nbsp;We would much rather use the InnoSetup action so as to be sure that errors etc are reported correctly rather than relying on our configuration of a generic "Execute Program" action (what should we be testing for in terms of ERRORLEVEL from the ISCC.EXE etc?)

This was originally found using InnoSetup 5.2.3 but I have subsequently upgraded our build process to the latest InnoSetup (5.3.5) to ensure that the problem was not related to using an older version of InnoSetup and the problem still occurs.

FinalBuilder 6.30.0.1783

The action and the FinalBuilder tools options are configured for InnoSetup 5.x

 

Any ideas?

 

Many thanks in advance.

---

<div class="post-metadata">

### Author: ![flowsoftware](https://www.finalbuilder.com/forums/letter_avatar_proxy/v4/letter/f/91b2a8/32.png) [@flowsoftware](https://www.finalbuilder.com/forums/u/flowsoftware)
#### Post date: [November 9, 2009, 8:28am UTC](https://www.finalbuilder.com/forums/t/out-of-memory-innosetup-5-3-5/3175/2 "2009-11-09T08:28:42Z")

</div>

The problem appears to be related to the amount of memory required for the compression of files in the InnoSetup project.

If I change the **Compression** type used in the project to a method that has a lower memory requirement then the compression phase of the project progresses further but still eventually fails with an **Out Of Memory** error before completing.

This is the case even when **Compression** is set to **none**!!!

What I don't understand is that with **Compression** set to **lzma/ultra64** , compiling the project with the **ISCC.EXE** command line compiler results in memory use for the compiler process (running in a **cmd.exe** ) escalates to 700MB+ but completes _successfully_. &nbsp;Running the exact same script using the InnoSetup action in FinalBuilder halts on the very first file in the compression phase, but memory use (as reported by Task Manager) of the FinalBuilder process does not increase beyond 48MB.

---

<div class="post-metadata">

### Author: ![Vincent](https://www.finalbuilder.com/forums/user_avatar/www.finalbuilder.com/vincent/32/938_2.png) [@Vincent](https://www.finalbuilder.com/forums/u/Vincent)
#### Post date: [November 9, 2009, 9:39am UTC](https://www.finalbuilder.com/forums/t/out-of-memory-innosetup-5-3-5/3175/3 "2009-11-09T09:39:16Z")

</div>

Hi Cameron   
  
 I don’t have an answer for this. BTW, this is now the second report in the last few weeks with the same issue. We use the Inno setup compiler dll, and call into it’s api to do the compile. The reason for this is that the api provides progress feedback that we don’t get with the command line compiler. I’m not sure why this has started happening. We use Innosetup ourselves and haven’t experienced this at all, but then our resulting exe is only around 30MB. I’ll contact Jordan and see if we can figure something out.

---

<div class="post-metadata">

### Author: ![flowsoftware](https://www.finalbuilder.com/forums/letter_avatar_proxy/v4/letter/f/91b2a8/32.png) [@flowsoftware](https://www.finalbuilder.com/forums/u/flowsoftware)
#### Post date: [November 9, 2009, 10:16am UTC](https://www.finalbuilder.com/forums/t/out-of-memory-innosetup-5-3-5/3175/4 "2009-11-09T10:16:16Z")

</div>

Thanks for the feedback.

In case it's relevant, our resulting setup exe is 131MB when **Compression** is **none**. &nbsp;With **Compression** set to **lzma/ultra64** this compresses to less than 25MB.

Also, we are using **SolidCompression** = **true** (though making this **false** made no difference to the problem).

In the meantime I found the ISCC console compiler reference that provided the ERRORLEVEL&nbsp;information we needed in order to be a little more confident about handling errors in our script. &nbsp;With that information we are at least able to use the generic "Execute Program" action for the time being, so although a resolution would obviously be desirable it's no longer as urgent.

Thanks.

---

<div class="post-metadata">

### Author: ![lmiller](https://www.finalbuilder.com/forums/user_avatar/www.finalbuilder.com/lmiller/32/82_2.png) [@lmiller](https://www.finalbuilder.com/forums/u/lmiller)
#### Post date: [November 20, 2009, 4:23am UTC](https://www.finalbuilder.com/forums/t/out-of-memory-innosetup-5-3-5/3175/5 "2009-11-20T04:23:17Z")

</div>

I am having somewhat related problems. Using FB 6.3.0.1712 and InnoSetup 5.3.6. With Compression set to LZMA/Ultra I can create a series of setup's in an action group. If I&nbsp;try to build the same series in an ASync Action group, I get the "Out of Memory" Errors. Changing the Compression to BZip has no effect.

I have tried opening two of the builds outside FB and I can manually run both in parallel with no problem.

BTW, I&nbsp;have Vista x64 with 8 gig of memory. Task manager reports only 40% used.

---

<div class="post-metadata">

### Author: ![Vincent](https://www.finalbuilder.com/forums/user_avatar/www.finalbuilder.com/vincent/32/938_2.png) [@Vincent](https://www.finalbuilder.com/forums/u/Vincent)
#### Post date: [November 20, 2009, 4:47am UTC](https://www.finalbuilder.com/forums/t/out-of-memory-innosetup-5-3-5/3175/6 "2009-11-20T04:47:05Z")

</div>

This appears to be caused by the lzma compression engine used by Inno setup requesting a large contiguous amount of memory.   
  
 FinalBuilder is a 32 bit process, so can only access 2G of memory no matter what the machine has installed. FinalBuilder also hosts the .NET CLR, which appears to be loading assemblies in a manner that makes it impossible for the native memory manager in FinalBuilder to allocate large contiguous chunks of memory.   
  
 We are going to change the InnoSetup action to call it’s command line compiler rather than load the compiler dll and use it’s api. The downside to that is we will not have any progress feedback, however running Innosetup in a separate process will allow it full access to the memory it needs.   
  
 In the mean time you can either disable the use of the async group, or use the Execute Program action to call the command line compiler.

---

<div class="post-metadata">

### Author: ![lmiller](https://www.finalbuilder.com/forums/user_avatar/www.finalbuilder.com/lmiller/32/82_2.png) [@lmiller](https://www.finalbuilder.com/forums/u/lmiller)
#### Post date: [November 20, 2009, 11:42am UTC](https://www.finalbuilder.com/forums/t/out-of-memory-innosetup-5-3-5/3175/7 "2009-11-20T11:42:14Z")

</div>

Thank you. Will probably wait till you change the action. Is there a rough time line for that?

---

<div class="post-metadata">

### Author: ![flowsoftware](https://www.finalbuilder.com/forums/letter_avatar_proxy/v4/letter/f/91b2a8/32.png) [@flowsoftware](https://www.finalbuilder.com/forums/u/flowsoftware)
#### Post date: [November 23, 2009, 8:04am UTC](https://www.finalbuilder.com/forums/t/out-of-memory-innosetup-5-3-5/3175/8 "2009-11-23T08:04:30Z")

</div>

&nbsp;Why not keep the DLL support in the action but&nbsp;make it an option?

&nbsp;&nbsp; &nbsp; &nbsp;[x] Use InnoSetup DLL

&nbsp;&nbsp; &nbsp; &nbsp;[x] Use InnoSetup command line

For people that initially have no issue with the InnoSetup DLL but who then start experiencing the problem later on,&nbsp;they need only flip that option rather than delete and recreate the action from scratch. &nbsp;Similarly if a fix is ever found that would enable the DLL to be used under conditions where it currently cannot, reverting to the DLL would also be an option flip.

---

<div class="post-metadata">

### Author: ![ccrdude](https://www.finalbuilder.com/forums/letter_avatar_proxy/v4/letter/c/90ced4/32.png) [@ccrdude](https://www.finalbuilder.com/forums/u/ccrdude)
#### Post date: [June 15, 2011, 12:27pm UTC](https://www.finalbuilder.com/forums/t/out-of-memory-innosetup-5-3-5/3175/9 "2011-06-15T12:27:02Z")

</div>

I did just enounter the same problem, and had to register to this forum just to see the search results that were found on the keywords "out of memory".

A suggestion for improvement: when the DLL&nbsp;is used and "out of memory" encountered, either ask to change to command line directly, or at least hint at this in the output. Would have saved me hours so far to know this (spent the last weeks manually compiling as part of the build chain)!

---

<div class="post-metadata">

### Author: ![Vincent](https://www.finalbuilder.com/forums/user_avatar/www.finalbuilder.com/vincent/32/938_2.png) [@Vincent](https://www.finalbuilder.com/forums/u/Vincent)
#### Post date: [June 24, 2011, 6:55am UTC](https://www.finalbuilder.com/forums/t/out-of-memory-innosetup-5-3-5/3175/10 "2011-06-24T06:55:46Z")

</div>

I have added a very obvious hint on the Innosetup actions property page. Will be in in the next release.
