
 * use a separate file for version locking; this will help on systems where
   flock() is emulated using fnctl() and its wierd close semantics.
 * during bootstrap, remove ".old" from the executable name and try again
   instead of giving up. This will allow users to manually execute prog.old.exe
   on the off chance that it gets left behind without the corresponding prog.exe
 * in-place upgrade of resources in executable files
    * with a separate wrapper program that can be spawned to modify
      the in-use executable 
 * respect various distutils settings e.g. verbose, dry_run
 * tests for customisable bootstrap process
 * hooks for code signing etc in the build process
 * think about hooks for upgrade events

 py2app:
   * Frameworks/.../Version/Python changes even when using the same
     build environment.  Why?  What can we do about it?

