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.