Hi all,
This is my first post here. However, I'v been a big fan of portable apps offerred here. They just rocks! Keep up the good works John T. Haller and friends.
I just bought a NAS (network attached storage). It's an external storage connected directly to the router. It just looks like another pc on my home network. So... my strategy is to gradually move whatever data i have on every pc so i can freely work on whatever pc and get pretty much the same capabilities. I can just map the new N: network drive to my NAS or use UNC naming (\\hostname\directoy) to use the nas storage.
Thunderbird is an intersting case. I would like to be able to get my mail on any pc in the house (not simultaneously - i know - that's not important for now).
NAS is cool: its very flexible but it's VERY slow at 100 megabit! If I put Thunderbird Portable on the NAS drive it is terribly slow to get in (roughly 1 minute). So, I would like to put just the data subdirectory.
From what I found, the ThunderbirdPortable.ini allows to customise some parameters. However, it looks like whatever value I use is used as a RELATIVE PATH.
I would like to be able to use different drive for the program and the data.
2 approachs:
A- Run ThunderbirdPortable.exe from local drive and have ThunderbirdPortable.ini reference the NAS storage for the dat
B- Run ThunderbirdPortable.exe from the nas storage and have ThunderbirdPortable.ini reference the local drive for the application
I have tried both and it looks like it doesn't support absolute path. It probably put a ".\" or "..\" in front of the value of the path parameter.
Would that be possible to modify ThunderbirdPortable.exe so that it uses relative by default UNLESS the path parameter looks like an absolute path (ex.: start with "X:") ?
Thank for any comments/ideas on that.
I also want to use another drive letter, which is impossible right now because ThunderbirdPortable.exe ALWAYS APPENDS paths specified in ThunderbirdPortable.ini to the current one.
I would advocate a check for an absolute path (letter followed by a colon), which should be rather simple and doesn't break anything working.
Also tried to find the source code for the Thunderbird Portable Launcher to change it myself but I had no luck finding anything...
Splitting any app's data to another drive is unsupported and a bit against the principle of portable apps (everything self contained on a single drive that can be brought anywhere).
Sometimes, the impossible can become possible, if you're awesome!
You are of course right with the main principle.
But there may be some reasons to put the profile folder on another drive (be it USB or network drive).
I respect your decision and accept that this won't be "fixed" as it somehow contradicts the idea, nonetheless I fixed it for me and this is how it works (just for reference, if someone else might need it):
${ReadINIStrWithDefault} $0 "$EXEDIR\${NAME}.ini" "${NAME}" "ProfileDirectory" "Data\profile"
StrCpy $1 $0 1 1
StrCmp $1 ":" AbsPath
StrCpy $PROFILEDIRECTORY "$EXEDIR\$0"
Goto +2
AbsPath: StrCpy $PROFILEDIRECTORY "$0"
Just insert the lines after the ${ReadINIStrWithDefault}-line (it was line 125 for me) into Other\Source\ThunderbirdPortableU.nsi and compile it with NSIS (Portable)...