Page 1 of 2
Tool to merge multiple files into one executable (AppPack)
Posted: Fri Sep 05, 2008 5:56 pm
by Kukulkan
Hi,
This tool is designed to merge applications, that need more than one file to run (DLL's, ressources etc.), into one single and compressed executable. This is especially helpful if you like to spread your application without the need of a setup (USB-versions for example) or without offering the download of multiple files.
It works this way: It compresses and merges all files into one single file including a special uncompression and start-tool. The result is a single and normal executable. Upon start, all files will get extracted into a temporary folder and one of them will get startet (you decide which file this is. Use right mouseclick in the filelist for options). If the program is closed, all temporary files will get deleted.
The new generated executable will get the icon and the version number information from the file selected to get startet. You can select another icon, too. Also commandline parameters are routet to this file to allow commandline usage of AppPacked applications.
By the way, AppPack is an AppPack compressed application, too. Normally it would consist of two files (GUI and decompress-executable). And it is really handy if you need some DLLs included to run your application.
Oh, this version is limited to 5 files. I really don't know if I will sell this as shareware in future. So currently there is this limitation. Sorry.
Please find the application here:
http://www.x-beliebig.info/Download/AppPack.exe
Screenshot (reduced size):
Every feedback is welcome
[EDIT]
Features planned for future:
- including sub-folders
- supporting temporary registry-settings
[/EDIT]
Greetings,
Kukulkan
Posted: Tue Sep 09, 2008 11:15 am
by Kukulkan
Hi,
Unbelievable that no one is interested in such a tool
Kukulkan
Posted: Tue Sep 09, 2008 11:25 am
by idle
I'm sure people will be interested, I haven't found the time to have a look though I already have a packer.
Posted: Tue Sep 09, 2008 11:44 am
by PB
No responses doesn't mean no interest. I downloaded it but haven't had
time to test it yet. So just give us a little more time, Mr Impatient.
But also don't forget: with the IncludeBinary and Catch commands, there
might not be a real need for your app, since PureBasic makes it so easy
to create a single executable in the first place.
Posted: Tue Sep 09, 2008 12:33 pm
by Kukulkan
Hi,
But also don't forget: with the IncludeBinary and Catch commands, there
might not be a real need for your app, since PureBasic makes it so easy
to create a single executable in the first place.
It is possible to use AppPack to merge binary data (like images etc.) into a single executable, but it is more intended to allow developers adding external ressources like DLL's (possibly commercial). I personally need to distribute the same application with different logo-images and different language translation-file. Using IncludeBinary() I will need to re-compile each version. In my case I liked the idea to 'pack' them simply together in different versions.
Mr Impatient
yes.

Waiting since friday morning.
Kukulkan
Posted: Tue Sep 09, 2008 12:38 pm
by PB
> it is more intended to allow developers adding external ressources
I see what you mean now. Would be useful for people who also want to just
pack an app into an exe to take somewhere, without zipping/unzipping it all.
Posted: Wed Sep 10, 2008 2:06 am
by citystate
something to consider, especially if you're thinks of offering this commercially.
you've included a limitation or 5 files...
...so what's to stop an enterprising developer from AppPacking AppPacked files?
Posted: Wed Sep 10, 2008 6:36 am
by Kukulkan
you've included a limitation or 5 files...
...so what's to stop an enterprising developer from AppPacking AppPacked files?
His honor?
I think a developer who likes to spread a commercial application will pay the little fee. Some unprofessional may do something like you described - I simply dont care about them. The executable will get bigger and bigger (as the decompression-routine will get inserted multiple times) and the needed effort for them is big.
Kukulkan
Posted: Wed Sep 10, 2008 12:02 pm
by DoubleDutch
I use my opensource DBin instead. (no fee)
A big advantage with DBin is that you don't have to uncompress the files to a temp folder before you can use them.
Posted: Wed Sep 10, 2008 12:51 pm
by Kukulkan
Hi,
I'm not sure about DBin, but am I right that you need to distribute a .exe file and a .bin file instead of multiple files? This is what I like to prevent. AppPack allows you to distribute one single executable with no additional files. But it is able to include commercial DLL's, different logo's, language-files and other files. As I can see, using DBin results in a new compilation for each version, too.
So, DBin is no replacement for AppPack. Maybe I need to show you an example:
This are the files I need to distribute. They are needed to be able to run the application:
- MySuperApp.exe
- SomeSuperControl.dll
- SomeSuperFunctions.dll
- LanguageFile.csv
- SomeDifferentTemplates.txt
- SomeCustomerLogo.jpg
To distribute this, I have three methods:
- create a setup using some installer-tool.
- create a zip-folder (only for advanced users)
- use AppPack to create MySuperApp_Standalone.exe including all files (!)
Using DBin you need to distribute: (if I understood correctly)
- MySuperApp.exe
- MySuperApp.bin
Here again the user needs to download two files, a zip-file or a setup. Use AppPack, and the user is happy with:
- downloading only one single file
- running directly without installation, unzipping etc.
So I realize that the biggest problem about AppPack is to realize what it can do for you. Maybe I need a good FAQ describing such facts?
Kukulkan
Posted: Wed Sep 10, 2008 5:45 pm
by DoubleDutch
No, I your incorrect about DBin......
With DBin you just append the .bin to the end of the .exe = single file. The routines will load from the end of the exe.
You could distribute 'MySuperApp.exe", also there would be no need for creating temp files on the users system - which most people wouldn't like - imho.
Posted: Wed Sep 10, 2008 7:12 pm
by Mistrel
Kukulkan wrote:Hi,
Unbelievable that no one is interested in such a tool
Kukulkan
This kind of tool is excellent but I already wrote a similar one. And it does subdirectories.

Posted: Thu Sep 11, 2008 12:18 pm
by Kukulkan
Hi,
It seem to be hard to understand: In my case it is not possible to recompile the program for each customers logo's, language-files etc. including the needed changes to the sourcecode. So, including those data into the main executable has been no option. And how do you use DLL's that are packed using DBin? Is it possible to use DLLs that are just in memory? Interesting.
Mistrel, where can I find your tool? Seems interesting, too! Does it really do the same than my AppPack including a GUI for creation? No need for recompiling the application? Does it work with other developers applications, too (like my one is doing)? I must have overseen this
Please post a link and I will see if it fits my needs. In this case I will stop continuing my tool. No need to reinvent the same twice.
Kukulkan
Posted: Thu Sep 11, 2008 12:34 pm
by Pantcho!!
There is a huge market out there, just because there are solutions does not mean they are better then your own or the opposite.
If you believe in this tool work on it and try to market it if it is in developers download sites and etc.
the internet is the biggest market ever, EVER.
good luck.
Posted: Thu Sep 11, 2008 5:29 pm
by DoubleDutch
You don't have to recompile the program - just append the file on the end of an existing program. It would be fairly easy to write a "generator" to do this.
DLL's can be loaded from memory using some of the libs available for PureBasic.