How to distribute my Xbasic application for end-users?



A few important rules:

MaxBasic's version
XB\XB.DLL and XB\RUN\XB.DLL?
There are two "xb.dll" libraries in the XBasic distribution but they are both for different purposes. The XB.DLL which is in the \xb\ path (or xb\bin\ path when working with Eddie's XBasic version) belongs to the PDE or Program Development Environment.
The other one (mostly named to XB\RUN\XB.DLL) has to be distributed with your executables.
But in order to get this library to work you need to rename it to XB.DLL in the path where your compiled executable is stored.
Two most important advises:
Never overwrite the original XB\XB.DLL by copying / moving the XB\RUN\XB.DLL across it else your PDE is gone.
Never distribute the original XB.DLL (to be remembered best as the largest file of the two) with your executable or XBasic itself will be started instead of your program.

EddieBasic's version
In Eddie's version the distributable XB.DLL is named XBRUN.DLL and both reside in the pathtoxb\BIN\ directory. Just copy the XBRUN.DLL to the path where your executable is and rename the XBRUN.DLL to XB.DLL.


If you want to distribute your executable package, be sure that the following things are included:

MaxBasic: The executable of your project from the "\xb\run\" directory
EddieBasic:Wherever you compiled the source will most probably be your executable.

Natural ofcourse...

MaxBasic:The "xb.dll" from the "\xb\run\" directory.
EddieBasic: The "xbrun.dll" in the {xbpath}\bin\ directory to be renamed to xb.dll first (outside the {xbpath}\bin\ directory)

Your application unlikely runs without it unless you embed it into your executable.

Possible third party dll files you used to achieve certain problem solutions that could not be done by XBasic directly
Keep them at the spot where you run your application...


Possible images that you used in your application
Not only where they reside, keep in mind you need to change drive and path locations if you slammed
your images onto your buttons in the appearance window are not likely installed on the same path at the users' hard-drive as yours.

Possible files that need to be read.
Whatever data-base like files or text files you need to read in your application, it looks pretty pale without that functionality you release it for if those vital files are missing.



Well the last three optional things are quite obvious but I have experienced people spreading half of their applications forgetting vital parts of it.
Make sure you test your distribution in a newly created path so you can check wether it will find all included graphics, libraries and other data-files it needs to load.

Actually this is quite it, there's nothing more to it.

Tip!
The xb.dll is zipped quite small, if you need a tip you can also try the freeware executable packer called UPX.
It can pack your dll-code to a size that does not take too much more live space on your harddrive when unzipped.