[spambayes-dev] Directory structure for "combined binary"

Mark Hammond mhammond at skippinet.com.au
Tue Oct 21 20:34:24 EDT 2003


While I was playing with py2exe before, I came up with a very clever scheme
for having multiple "binary directories" in one distribution.  The only
problem is that it didn't work!  It was pointed out (thanks Thomas!) that
each executable *must* have (at least) pythonxx.dll in the same directory.
Thus, if we were to have a separate directory for Outlook binaries, and a
separate one for sb_server binaries, we would need to duplicate these DLLs.

This means that we really do need to have all the binaries in the same
directory.

Here are my questions:
* Is a "single installer" for both Outlook and sb_server appropriate?  I
have steamed ahead here, but haven't heard much feedback indicating it is a
good idea.  I am still inclined to say that it is - all Windows users grab
the same installer, and the installer figures out what to install and what
instructions to display.  Probably less room for error than people
misunderstanding Outlook/Outlook Express etc

* Assuming it is a good idea, this is my best idea for a directory
structure:

{top} - where the user installs - presumably "\Program Files\SpamBayes".
{top}\bin - *All* executables and DLLs for both applications.  Currently
this consists of 9 files
{top}\lib - All .pyd and .zip files that constitute Python modules.
{top}\docs\Outlook - readme.html and the rest of the existing Outlook docs
{top}\docs\sb_server - Only 1 little readme Tony and I put together.

Currently no applications require external "data files" (only external
docs).  Should we need them later, I guess a "{top}\bin\sb_server" and/or
"{top}\bin\outlook" would be created.

Re "{top}\bin" - we use a simple naming convention - outlook_* are outlook
files, and sb_* are sb_server files.

Finally, note that by default, the installer will only install enough for
*either* of the 2 applications.  It is possible to have the installer
install both, but by default it will detect which app to install (based on
if Outlook appears installed).  Thus, must users will only ever get the
files for their specific app.

Any comments?

Mark




More information about the spambayes-dev mailing list