John,
If I have portable thunderbird running, and try to start portable firefox, I get the error that firefox is already running. If I have portable firefox running, and try to start portable thunderbird, I get the converse error about thunderbird.
I think it might be because two different instances of Gecko are running, and the first one locked the profile, while the latter is respawning trying to access it resulting in the concurrency error.
I have some new stuff to show you.
Steve
That can't be the reason, they use separate profiles and they can both be open - I open them both at the same time....
What new stuff do you have to show us exactly?
havn't put them both in the same folder or anything like that have you?
Yours
Steve Lamerton
Yes, they are in the same folder and use the same profiles, as that is how the directory structure has been set up. Why would you set up the directory structure like that if you weren't going to use the same profile? If that were the case, obviously the dir structure should be "Data\PortableThunderbird\profile" instead of Data\profile, otherwise anyone using multiple mozilla apps at once will have that error.
Dir structure:
PortableFirefox.exe
PortableThunderbird.exe
-App
--DefaultData
--gpg
--temp
--thunderbird
--ThunderbirdPortable
--FirefoxPortable
-Data
--gpg
--plugins
--profile
---bookmarkbackups
---chrome
---extensions
---Mail
--registry
Mozilla applications like Firefox, Thunderbird and Sunbird are not supposed to use the same profile directory. They are supposed to be seperate. So, combining them isn't supported by the launchers. The launchers check to see if a profile is locked. Mozilla apps all lock a profile when launched and leave a parent.lock file in them to indicate that they are locked. This is so multiple instances aren't editing the same file (like prefs.js, cookies, bookmarks, etc) at the same time. The launchers use this lock file to determine if it is the local or portable install of, for example, Firefox, that is running. If local, it shows an error about closing other instances. If portable, then it does a secondary launch passing the parameters to firefox.exe. Combining multiple apps into a single profile directory isn't support by Mozilla and won't be supported by the portable launchers.
BTW - I know I owe you an email (you and 591 other people). I'll ping you today.
Sometimes, the impossible can become possible, if you're awesome!
John,
Thanks. That entirely answers my question.
One just needs to employ a utility that can kill the particular running processname(s) before launching another one.
Even a crude batchfile scripted to execute Window's TSKILL.EXE just prior to launching the new process can accomplish this.
There's really no point. Mozilla's own apps are not made to work in this fashion, so they will have unpredictable results when forced to. One app, one profile. That's what they're designed for. Who knows what collisions would arise from duplicate extensions... or in future versions that may use the same prefs.js setting in different ways. There's simply no reason at all to support or operate this way. It doesn't save any usable space on a key. It is, in fact, a liability, since, in addition to the aforementioned problems, it would be difficult to extricate them from each other later.
And on warning of other instances. It's not nice to kill another app without permission. Sending a WM_CLOSE would be far more appropriate. But it's not really necessary. It's best to educate the user (one type of Firefox open at a time) and then they'll know to work that way.
Sometimes, the impossible can become possible, if you're awesome!
I already do this with KeePass, and I also have the batch delete any *.lock files prior to executing keepass.exe.
Perhaps Mozilla's apps are a bigger challenge.
I simply cannot comment as to that. I am not so familiar with them.
But, where there is a will...
"Using command line options available, it is possible to create an appStop action that messages the application to shut down in a normal fashion during safe eject - consult the U3Action User's Guide for more details."
Sending a WM_CLOSE to an app isn't hard. We can do it right from NSIS with ease. The point is that there's no reason to FORCE the user to close their local copy before launching. We simply let them know that they need to close it.
And this thread has nothing to do with U3 at all, and certainly nothing to do with an AppStop. I know you like the platform, but please keep discussion of it within appropriate threads. It's completely unrelated to what we are discussing.
Sometimes, the impossible can become possible, if you're awesome!
True. Any anyway, that method is antithetical to what I was attempting, as I needed to have both programs open at the same time. Robbing peter to pay paul is easy enough, but wouldn't solve the problem.
Figured it out.
BTW, John, I would love to see some socket signaling NSIS code sometime. Got somewhere to point me?
FNotResponding
DoEvent
I read somewhere that there is work being done on a project to blend Firefox (or Mozilla Browser), Sunbird and Thunderbird in to an Outlook-esque suite.
Perhaps then the profiles will be merged.
Actually that would be the lightning project. It what the calendar project is becoming. Rather than just a menu option that launches a seperate calendar window (like it is now), Lightning is integrated into Thunderbird. It still in a very early stage, though.
http://www.mozilla.org/projects/calendar/lightning/
Better details on what to expect when are in the roadmap:
http://wiki.mozilla.org/Calendar:Lightning:Roadmap
Sometimes, the impossible can become possible, if you're awesome!
Appears to be a very good move.
I would enjoy Outlook functionality without necessitating the installation of Outlook.
It's OK.
As soon as it's finished, my whole family is switching over.
----
R McCue
PortaBlog Home and My Website
And before anyone complains about the grammar, I'm so jetlagged that my
hands aren't even in the same time zone...
"If you're not part of the solution, you're part of the precipitate."