game in one executable .exe?

Monkey Targets Forums/Desktop/game in one executable .exe?

Phil7(Posted 2015) [#1]
Is there a way to put the whole game including its data-folder into one executable.
I have read about executable packers in the Monkey X Jam rules, but I didn't find anything usefull.
I just want to have one file to copy on a PC and then just click on it to start the game.


Soap(Posted 2015) [#2]
What's the ultimate purpose? For distribution? An installer would be better for majority of users. http://www.jrsoftware.org/isinfo.php

Since nasty people use the common packers, they often create false positives with AV software. If you want to pack your files to make them secure - know that this is false comfort... any common packer can be easily extracted by someone who knows what they are doing.


Phil7(Posted 2015) [#3]
I'm aware of the downsides of this kind of distribution, but it would be really convenient in this case, because the game is for really unexperienced users. They are merely able to insert an USB-Stick and then to drag the icon to the desktop. And it is mainly for testing purpose, so they should be able to quickly remove the game without any hassle also.
On these PCs are no AV softwares and they have no Internet connection.


Soap(Posted 2015) [#4]
Honestly building an installer would still be better, less time consuming for you, less costly to do, and still simple for your users in this situation if you are not doing this commercially. Part of the reason why packers in general were not allowed is because they make it more difficult to immediately tell if the software is malicious. They generally do not necessarily bundle all resource files into a single exe but more often compress parts of the exe so that it can still be ran like a normal exe but takes up less space. Look at programs on this list for the kind of tool you are looking for http://alternativeto.net/software/molebox-virtualization-solution/

In your situation have a folder say "COPY ME" and inside have the exe say "RUNME.exe" or have the game on the USB's root with RUNME.exe and don't bother copying.


Neuro(Posted 2015) [#5]
There's several tools available out there if you just do a google search :

UPX
MPRESS
Smart Packer Pro


GarBenjamin(Posted 2015) [#6]
@Phil7 Thanks for posting this! I had completely forgot about packers because I haven't used them in many years.
This is ideal for me as well. A single file to download. A single file for the gamer (or more likely tester) to delete whenever they want to clean it up.


Phil7(Posted 2015) [#7]
Thanks for your support! I will look into those suggestions deeper, but my first impression is as Soap was predicting:
They generally do not necessarily bundle all resource files into a single exe

But that's the only reason, I'm interested in packers. It even wouldn't bother me if they blew up the size of the package.
So if anyone has experiences with packers or a different solution for this problem I'd be really thankful for a hint.
And if I get through to something useful I will post it here.


Neuro(Posted 2015) [#8]
Not sure about the others but i've used Smart Packer Pro before and it worked well with MX. The developer provides direct support and even hops onto the forums here once in a while too.


Gerry Quinn(Posted 2015) [#9]
I think it is really experienced rather than inexperienced users who like single runnable exes. For the real beginners an installer is better as it will make e.g. a desktop icon for them.

A zip file is liked by some experienced users, because they feel more in control of all unpacking. Though probably few worry about setup files these days.


Nobuyuki(Posted 2015) [#10]
I used to be that way too but honestly the "convenience" of portability is kinda a lie with certain programs. If you have to resort to using an unpacker then that's basically cheating, and virus scanning heuristics aren't exactly fans of unpackers anyway -- UPX in particular is flagged often as greyware by virus scanners.

The main issue of contention, though, is where programs get to "live" now. It's considered bad practice to dump config files and anything you need write access to into the same folder as the executable, because it's not guaranteed that the program will have the privileges to write in the folder it's executed from. Most people on Windows didn't think this was a serious thing until UAC began to be enforced strictly by default sometime around Windows 7 -- Which means that most of your users will NOT have write access to Program Files without a superuser escalation, and your apps will break if they're installed there. So, already, if you're following best practices for modern OS's (and you should), you're likely to be writing to a place in the user's Local folder (or home folder on *nix I guess), not so portable.

This is on top of the fact that you'd have to use openAL-soft or some alternative to be able to statically-link that library so that your executable's portable, because openAL proper doesn't allow it (afaik).


popcade(Posted 2016) [#11]
You can try Enigma Virtual Box
http://enigmaprotector.com/en/aboutvb.html

However it's Win32 only, otherwise it works well and completely free.

Once I want to buy Smart Packer Pro, but I found Enigma simply does the job.


Phil7(Posted 2016) [#12]
Thanks. This is great and really simple to use!
Do you know if you can save Data during the game? It doesn't matter if it's written in a separate file outside the exe.