Windows Build: redistribuables and embedded exe

Hi!

I’m looking for information on how to build a nice little embedded exe for windows. Found some topics, but they’re 3 years old and their solutions don’t seem to work :persevere:

Also, what redistribuables are needed to run the exe (not specifically the embedded one)? Obviously I can run it fine, but I’ve had reports our of our demo messing up in weird ways, and I suspect redistribuables to be missing.

EDIT: Oh, and we’re using a combination of Haxe, Openfl, and Starling for Haxe (not sure that one belongs here, but still…)

You mean, a single executable, with no additional support files for assets or libraries?

Source builds of Lime support static linking, but unfortunately (!) audio is disabled when we do so. Our audio subsystem on native uses OpenAL-Soft, which is GPL-licensed. As a result, including it would cause all your code to be subject to GPL, which requires you to allow source code changes, effectively open-sourcing your own codebase. This seems like bad news (unless someone is sure of what they are doing) so that’s why it’s disabled for now.

Otherwise, OpenFL applications require the “lime.ndll” file on native desktop builds, so packing it up in a single EXE would require a self-extractor or some other solution that unpacks files somewhere

If you need to pack a bundle into a single exe file, you can use Enigma Virtual Box.
It automaticly unpacks all assets into memory and runs it from a virtual folder.
Works great!

http://enigmaprotector.com/en/aboutvb.html

4 Likes

Ok, I was not aware of the GPL licending thing. So basically, any application made with openfl and built for native must be open source?..

Thanks d0oo0p! Can’t get it to work right now, but I’ll that’s probably on me ^^’

If I understand correctly the open source part is in lime.ndll : your code is yours. What singmajesty says is that if you compiled everything into a single .exe with audio enabled then you would have to open source your code because of OpenAL.

So if you need audio and don’t want your code under GPL license you have to keep lime.nddl external.

Enigma Virtual Box thing sounds like a good solution in your case

That’s right, we try to keep track of all our used licenses in the Lime NOTICE file, but the TL;DR version is that you have absolute rights with Lime being a separate shared library, as well as static (if we omit OpenAL), so long as you do not hold us or other people liable, or sue, is basically what the licenses require :wink:

2 Likes

Oh ok I get it! Thank you both for dumbing all this down for me! :3

No problem, licenses are complex, there’s a reason being a lawyer is a full-time job :wink: