Adding a 20 Gig file to the end of my .exe installer

Guys, I have created a new JUCE custom installer, that does all I need it to do. But now I have to take care of a 20 Gig file (sounds + presets) too, and would like to keep it a single .exe file as it is now (I used BinaryData for all the other stuff: skins, updates, plugins). So I would end with a 20+ Gig file for NEW Install and another smaller one for UPDATES. I was checking that I could just copy the 20 Gig data to the end of the EXE file and it runs, but will it run on all systems? I don’t sign my .exe files, btw. That way I can do the process of adding the 20 Gig file on my Linux Server. :wink:

I also need to check how I will handle this on OSX, but from what I see I could do on the bundle folders inside Linux. But them I won’t be able to create a DMG file, but instead a ZIP file of the bundle. I saw a site where I downloaded an APP for OSX and Safari downloaded the APP as a single file, but I see it is a Bundle (some subfolders and files). How does that work? That would be nice to do, so people just download the APP directly.

Well, lots of things to worry about. :wink:

If this is all too complicated and unsafe I will just have the .exe/app ask where the big 20 Gig file is and handle from that. But it would be nice to have a single file for new installs.

If anyone wants my source code for the files packager and the custom install I created just let me know. I hacked the juce projucer code to get me the BinaryData stuff in the way I needed to handle tons of files on my installer. It works great on both Windows and OSX. :slight_smile:

One of the reasons I’m doing all this on the Linux machine is that my internet is very slow and uploading a 20+ Gig file everytime I do an update would be nonsense. So I’m doing on the actual site server.

Thanks in advance.

Best Regards, WilliamK

Seems that I can create the DMG file for OSX from my linux server. :wink:

Do you need to run on 32 bit Windows? Then the .exe limit will be 4 GB, you should be fine on 64 bit Windows.

1 Like

Oh, indeed, forgot about that. So for Win 32 bits I will do a ZIP file with a separated installer. And on Win 64 I do the single-file thingy.

Thanks! :slight_smile:

On OSX I just added the BIG file into Contents/Resources and it just works. I hope it will always work. :wink:

I already created the first Demonstration file for Windows, and a big 22 Gig file for purchasers.

I think this is a terrible idea… I know our user base prefers to be able to install their executable to their regular applications folder… and have the option to install the sample data on a drive location of their choice (similarly the plug-ins exist on the system drive, but they can install the sample data on external drives).

Since MacOS packages are limited to a maximum payload of 8GB I ended up writing my own cross-platform scriptable installer.


You have concerns about uploading 20+ GByte data because you think your internet is to slow. But you expect your customers to download the same amount. That just doesn’t add up to me…

My installer has an option of where the DATA goes and where Plugins goes. :wink:

One thing that I can’t figure out is how to make a downloadable link to a bundle .app directory. I was in some site and I clicked download and it downloaded the whole .app bundle directory. But I don’t know how they did it.

My upload speed is 512k…

If you’re going to zip the download and the installer relies on folders for the data – you’ll run into TransLocation issues.


I think you should consider using AWS S3, where you can store all your content it allows you to do part downloads which is very handy when you are dealing with large files, this allows the user to pause and continue the download without starting from the beginning every time.

1 Like

users should be able to preview and download only the sounds they like and need, not be forced to download 20gb of possible rubbish. it seems to me you are only wasting bandwidth all over the place.

1 Like

Well, for YEARS I let users do that and everybody complained and wanted a single file. :wink: So that’s why I went this route. In any event, I managed to get things going without much problems. I created my own file package system and it is running in place. If anyone wants the source code just let me know. It works on Windows and OSX. I run the packager on Linux and Windows.

Cheers, WilliamK