PEBundle - sucks!

Community Forums/Developer Stations/PEBundle - sucks!

jfk EO-11110(Posted 2003) [#1]
PEBundle is a Tool that claims to be capable of packing a number of files into one single Executable, that can be run and the Exe still can access the other files, using some kind of virtual Host in Memory. Ok, sounds very nice. However.

I installed it. Unfortunately it seems it is not capable of packing eg. Images with an Exe. It probably can pack DLLs to an Exe, but not mediafiles. It can include URLs to external Files, even Files on the web. While some people might think this is a nice feature to be able to autoupdate some plugins or something, I think this simply sucks. I don't want an application to download files each time I start it.

and this is exactly what PEBundle is doing by its own as well: every other time I start the TOOL, it tries to connect to the web and wants to install some "latest features". I suspect this is one of the new "cool" .NET features.

NO THANKS!!! This Tool really sucks. 5 Days evaluation, 39$. I knew it after 20 Minutes: I don't need this, a tcp-based downloader for some silly plugins can be done in Blitz as well, in 20 lines of code.

And it even has no uninstall link...

An other tool I didn't test yet, which is probably better, but is also much more expensive, is the following: "Thinstall". This tool claims to be capable of packing several Files and Folders into one Exe, that will run a specified Exe inside the package and let it access the packed mediafiles as well, I tend to believe them what they say, also because of the price: 749$

Any other solutions around? (I mean,without to flush the files to the disk, of course)

jfk EO-11110(Posted 2003) [#2]
I just tried the 14 Days evaluation copy of Thinstall. No Error Messages, but still: it didn't work. I packed a little Blitz App in 2D Mode with a single Bitmap into a testfile, but other than the "this programm was produced with an unregistered version of..."-hello-popup there was not a trace of my blitz window at all.

and thinstall uses some .NET Stuff too, wants to connect to their server all the time. I don't like that very much.

At the other hand thinstall offers some very nice thngs like installation manager, demo-expiration system, serialkey system aso.

I drop a message on their board. Although more than 700$ for an amateur like me - that hurts.

One by one I start thinking a competiting product would probably be a nice idea for a serious project...

I was also thinking about to use DB to include and shellexecute a Blitz App :) but i am afraid the virtually packed mediafiles inside the DB Exe could not be accessed by the blitz app - hmmm - if it's kinda ramdisk - why not? but when it's a Host system that delivers only to one Exe, then: forget about it. Gotta test this, there's a tiny chance :)

Michael Reitzenstein(Posted 2003) [#3]
Try MoleBox for packing media into an EXE...

jfk EO-11110(Posted 2003) [#4]
Hey, thanks a lot, Michael! Molebox works perfectly with Blitz! It's simple and efficient. And only 99$.

Mustang(Posted 2003) [#5]
Molebox works perfectly with Blitz!

Well it should, because they even advertize that fact on their pages... :) MB is my choice for my projects too. It has all the features I need, and then some. $99 is not that much IMO for such a good app.

Shambler(Posted 2003) [#6]
@jfk does molebox pack everything into the .exe?

You can image with all the media files needed for a large game that the .exe file would be huge >.<

Does molebox compress/uncompress the data somehow to help this?

Skitchy(Posted 2003) [#7]
Molebox is one of my personal favourite tools. :)
And to answer your questions :
- Yes it can pack *everything* or just the files you select
- It does NOT unpack files to a temporary directory (which would make your files vulnerable again)
- It has zip compression with threshold parameter AND 2 selectable levels of file encryption (strong and normal)
- It works by looking for certain code in the exe and changing it somehow.

It hasn't let me down once. You DO have to be careful with your code in some places though. If you try to write to a packed file for example, you'll create an error. BUT having said that, it is perfectly capable of using some packed files and some non-packed files. I find the best way of making the distinction in Blitz code is to use something like
ChangeDir([place where your non-packed file is])
[do stuff here]
ChangeDir(olddirectory$) ;this line *should* put you back 'in the box' :)

jfk EO-11110(Posted 2003) [#8]

Mustang(Posted 2003) [#9]
And be sure to check the forums too:

If you have any questions, just ask one there!

Mustang(Posted 2003) [#10]
It works by looking for certain code in the exe and changing it somehow.

Q: How does MoleBox work?
A: When you're packing your application, MoleBox scans its import table, locates WinAPI functions operating with the files being packed, and replaces them with its own functions.

And you can use also config files that are outside the box, and freely editable:

Shambler(Posted 2003) [#11]
I was assuming that when you run an .exe file it all gets loaded into memory at once.

Is this the case when some .exe's e.g. PaintShopPro are over 50MB in size? O.o

*Goes digging for moles

[Edit} It looks like MoleBox can save your game as 2 files, one for the .exe and another for the resources, nice.

Mustang(Posted 2003) [#12]
I was assuming that when you run an .exe file it all gets loaded into memory at once.

IMO it does not work like that... it just loads the "true exe" stuff, although everything seems to be one big lump. So if you create (with molebox) 1 gig .exe it really doesn't load at start more than 1 meg of it or so.

Shambler(Posted 2003) [#13]
Excellent! I'm going to order MoleBox today!

Mustang(Posted 2003) [#14]
Excellent! I'm going to order MoleBox today!

There is FREE trial, so try it out first:

Also I think that they recommended splitting .exe and data if you have HUGE amount of media... or was it if you use best possible encryption. Anyways, any Blitz project I have seen to date should be easily packed to one big .exe if wanted. But splitting it really doesn't make things much more complicated.

Shambler(Posted 2003) [#15]
Tried the demo, heres some results.

Total .exe and media size

Moleboxed to a single .exe file

Moleboxed to an .exe file and a separate resource file
628K for the exe
9.42MB for the resource file.

Very impressive and easy to use, I had it working less than a minute after downloading it.

A nice feature is that it remembers your last batch of files so all you do is compile to .exe again in blitz,run MoleBox and click on pack to box, job done.

TeraBit(Posted 2003) [#16]
Sounds just the ticket! I might even invest 8D

JoeGr(Posted 2003) [#17]
I can recommend Molebox too. It works really well.

ashmantle(Posted 2003) [#18]
Sounds like the best option for me aswell :) Great!

GameCoder(Posted 2003) [#19]
Hey guys I was wondering if anyone had ever used TerraBits DataPak for this. And what comparison it has to Molebox

jfk EO-11110(Posted 2003) [#20]
DataPak is useful but has some drawbacks compared to Molebox: It cannot pack all Data in one Exe (instead it uses one big external PAK File), it needs to temporarily save the files to the disk, the Code needs to be customized (not very much) to work with DataPak, it doesn't offer such advanced encryption and compression like molebox. The Pro at the other hand is the price: DataPak is more than 100 Million times cheaper than Molebox :)

TeraBit(Posted 2003) [#21]
Well put jfk! :)

jfk EO-11110(Posted 2003) [#22]
BTW Molebox has also some limitations. See the "molebox question" thread

Al Mackey(Posted 2003) [#23]
<quote>DataPak is useful but has some drawbacks compared to Molebox: It cannot pack all Data in one Exe (instead it uses one big external PAK File)</quote>

Actually, the latest version of DataPak CAN put the data in the EXE.

TeraBit(Posted 2003) [#24]

It cannot pack all Data in one Exe

Yikes I didn't see that bit! Into the .EXE has been in there from version 1.0!

I make a deal with everybody. If Mark puts in the option to load from a bank in all Blitz Loaders, I'll make a Free TeraPak that does pretty much what molebox does (Apart from DLL loading of course 8D)... Maybe just stick to molebox.. :)

<Death>(Posted 2003) [#25]
U da man!
(exited chicken dance follows...)

Cause $99.00 smackers is a lot to ask for a util like Molebox IMOHO...

jfk EO-11110(Posted 2003) [#26]
Sounds good! BTW - sorry, I didn't knew that DataPak can store it inside the exe. But please tell me how do you do this? As Data-Ints? I have made such an Exe too, which flushes the Data temporarily to the Disk (and LoadFromBank would indeed be very useful - maybe as a simple additional Flag Parameter in all Loading Functions), but my exe was 2.7 megs compared to 1.3 MB in Molebox and 950kb as a Zipfile containing all Files. Ok, after UPXing the 2.7MB Exe it was only 1.6 or something, but anyway, it takes much longer to load and uses the harddrive excessively.

I double that: "Load from Bank" would be very useful! Has anybody posted this Feature-Request already officially?

Mustang(Posted 2003) [#27]
Cause $99.00 smackers is a lot to ask for a util like Molebox IMOHO...

It's relative... it is lot when you consider that Blitz3D costs $100 too, but if you need something like that it's only, best and cheapest choice. Terabits free product is just as good basically, with few security flaws which are caused by Blitz (no banks).

TeraBit(Posted 2003) [#28]
@jfk - You specify the .exe in the PakInit at the beginning of your program.

You also need to check the 'Pack into the .EXE' option in the GUI packer program (and of course specify the .exe you are going to use instead of the default mygame.exe).

Has anybody posted this Feature-Request already officially?

Yes. I believe Mark has indicated that this will be addressed in BlitzMax through the use of Streams!

-=Darkheart=-(Posted 2004) [#29]
It is probably one of the oldest, most often requested features because there are so many uses for loading resources directly from memory.

It would immeadiatly solve the problems with using Playmusic as well as countless other uses.