Portable Sunbird Launcher 1.0.9
===============================
Written by John T. Haller
- with additional code from Free The Fox by mai9 and fflaunch by tracon

Website: http://portablethunderbird.mozdev.org/


ABOUT PORTABLE SUNBIRD
======================
The Portable Sunbird Launcher allows you to run Sunbird from a removable drive whose letter changes as you move it to another computer.  The calendar client and the profile can be entirely self-contained on the drive and then used on any Windows computer.  Specific configuration changes are made to the chrome.rdf so that your extensions and calendar will still work as the drive letter changes.


LICENSE
=======
This code is released under the GPL.  The full code is included with this package as PortableThunderbird.nsi.


INSTALLATION / DIRECTORY STRUCTURE
==================================
By default, the program expects one of 3 directory structures:

-\ <--- Directory with PortableSunbird.exe
  +\sunbird\
  +\plugins\
  +\profile\

OR

-\ <--- Directory with PortableSunbird.exe
  +\PortableSunbird\
    +\sunbird\
    +\plugins\
    +\profile\

OR

-\ <--- Directory with PortableSunbird.exe
  +\PortableApps\
    +\PortableSunbird\
      +\sunbird\
      +\plugins\
      +\profile\


It can be used in other directory configurations by including the PortableSunbird.ini file in the same directory as PortableSunbird.exe and configuring it as details in the INI file section below.  The INI file may also be placed in a subdirectory of the directory containing PortableSunbird.exe called PortableSunbird or 2 directories deep in PortableApps\PortableSunbird.  All paths in the INI should remain relative to the EXE and not the INI.


PORTABLESUNBIRD.INI CONFIGURATION
=====================================
The Portable Sunbird Launcher will look for an ini file called PortableSunbird.ini within its directory.  If you are happy with the default options, it is not necessary, though.  The INI file is formatted as follows:

[PortableSunbird]
SunbirdDirectory=sunbird
ProfileDirectory=profile
PluginsDirectory=plugins
AdditionalParameters=-commandline -parameters
AllowMultipleInstances=false
SkipChromeFix=false
SkipCompregFix=false
WaitForSunbird=false
SunbirdExecutable=sunbird.exe

The SunbirdDirectory, ProfileDirectory, and PluginsDirectory entries should be set to the *relative* path to the directories containing sunbird.exe, your profile and your plugins from the current directory.  All must be a subdirectory (or multiple subdirectories) of the directory containing PortableSunbird.exe.  The default entries for these are described in the installation section above.

The AdditionalParameters entry allows you to pass additional commandline parameter entries to sunbird.exe.  Whatever you enter here will be appended to the call to sunbird.exe.

The AllowMultipleInstances entry will allow Portable Sunbird to run alongside your regular local copy of Thunderbird if you set it to true (lowercase).  The default is false.

The SkipChromeFix entry allows you to set Portable Sunbird not to adjust the chrome.rdf for extension compatibility on launch.  It is useful if you are only using Portable Sunbird on computers you control and are able to have the drive letter set the same each time as Portable Sunbird will launch more quickly.  Set it to true (lowercase) to skip chrome.rdf processing.  The default is false.

The SkipCompregFix entry allows you to set Portable Sunbird not to adjust the component registry (compreg.dat) for certain extension compatibility on launch.  It is useful if you are only using Portable Sunbird on computers you control and are able to have the drive letter set the same each time or if you are not using extensions which make use of the component registry as Portable Sunbird will launch more quickly.  Set it to true (lowercase) to skip chrome.rdf processing.  The default is false.

The WaitForSunbird entry allows you to set the Portable Sunbird Launcher to wait for Sunbird to close before it closes.  This option is mainly of use when PortableSunbird.exe is called by another program that awaits it's conclusion to perform a task.

The SunbirdExecutable entry allows you to set the Portable Sunbird Launcher to use an alternate EXE call to launch Sunbird .  This is helpful if you are using a machine that is set to deny Sunbird.exe from running.  You'll need to rename the Sunbird.exe file and then enter the name you gave it on the SunbirdExecutable= line of the INI.


PROGRAM HISTORY / ABOUT THE AUTHORS
===================================
This launcher contains elements from multiple sources.  It began as a batch file launcher written by myself (John T. Haller) and posted to the mozillaZine.org thread about running Firefox from a USB key.  tracon later released a launcher called fflaunch which I enhanced and re-released as Portable Firefox.  mai9 later improved on fflaunch's techniques and released it as Free The Fox.  Multiple suggestions back and forth as well as improvements from mai9, myself and others lead to the launcher we have today.  This most recent version adds some of mai9's methods for running multiple copies of Firefox and my methods for allowing the code to be run from anywhere on first launch (as opposed to a specific directory), pass in commandline options, run without an ini file and allow the use of profiles from local installations.


CURRENT LIMITATIONS
===================
LOCAL FILES CREATED - A directory (%userprofile%\Application Data\Sunbird) is created on the local machine (if Sunbird is not installed locally) and a pluginreg.dat file is created within it. A Talkback directory is also created.  This is a limitation of Sunbird itself.

WRITE ACCESS REQUIRED - Both the Sunbird directory and the profile directory must be writeable on the USB drive. Drives with a writable switch can not be in read-only mode.