You are here

Thunderbird Portable removes junction links

4 posts / 0 new
Last post
Marvin Haktar
Offline
Last seen: 8 years 7 months ago
Joined: 2016-04-16 01:12
Thunderbird Portable removes junction links

Hi folks,

aside to the portable version of Thunderbird I use a normal installed one. All my data are stored on a different hard disc than the system and program files. In prior installations I moved the whole AppData directory to the other disc and created a link like mklink /j AppData d:/AppData.
Since Windows 10 this is no longer recommended. Microsoft stated that Windows can't be updated when the AppData is moved and other users have had bad experience with this.

By changing the default location of the user profile directories or program data folders to a volume other than the system volume, you cannot service your Windows installation. Any updates, fixes, or service packs cannot be applied to the installation. We recommend that you do not change the location of the user profile directories or program data folders.

https://support.microsoft.com/en-us/kb/949977

The only solution to this is to create symlinks for (nearly) all AppData directories – not nice but works :-(.
The only application that makes problems is Thunderbird Portable for it removes the symlinks AppData/Remote/Mozilla and AppData/Remote/Thunderbird.
I've found some older posts about this. The problem was always blamed on a bug in the file system and the solution is to move the whole AppData to a different place. But Microsoft does not fix the filesystem since many years and I don't think they will ever do. And moving the AppData is no option anymore.
So I've got a big wish to the John T. Haller, the developer of Thunderbird Portable: Please build a workaround for the file system bug.

Or does anybody know a better way?

Thank you
Marvin

John T. Haller
John T. Haller's picture
Online
Last seen: 32 min 51 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Broken API, Use Profile Manager instead of Junctions

It's a combination of bugs in Thunderbird and in Windows. Thunderbird drops stuff around locally even when we direct it to a profile on the same device. Thunderbird provides no way to prevent this. We use NSIS' built-in standard system calls to determine if a directory is empty before removing it. These calls use the standard Windows calls. The standard Windows calls tell NSIS it's empty, NSIS tells us it's empty. The problem is that we'd need to test all sorts of directories for junctions as people tend to put junctions all sorts of oddball places, like individual directories within APPDATA.

I'm working on a RemoveDirIfEmptyAndNotAJunction routine that will slowly be worked into various apps as that appears the only way to work with Windows' buggy junctions.

Personally, just keep your data in APPDATA on C: There's really no reason not to anymore. Any backup utility can easily work with specific directories. SSDs for your main drive are relatively inexpensive.

Or, if you really really want your local Thunderbird profile to exist on your D: or similar drive, change your local Thunderbird profile setup to use that location using Thunderbird's profile manager. All your mail and settings will be wherever you specify. Thunderbird won't need any command line to launch and will work as the default mail client launched from everywhere. You can do the same with Firefox. Doing so will completely eliminate the need for any junctions in any of the Mozilla directories in APPDATA.

Sometimes, the impossible can become possible, if you're awesome!

Marvin Haktar
Offline
Last seen: 8 years 7 months ago
Joined: 2016-04-16 01:12
Hi John,

Hi John,

thank you for your encouraging answer. I'm looking forward for you RemoveDirIfEmptyAndNotAJunction method and hope you can integrate it in the next TP release.
Until that moving the profiles seems to be a good workaround.

Thank you
Marvin

John T. Haller
John T. Haller's picture
Online
Last seen: 32 min 51 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Please Try This

Please try this and report your experience in that thread: https://portableapps.com/node/54162

Sometimes, the impossible can become possible, if you're awesome!

Log in or register to post comments