Portable 32 and 64 Bit combined

Talk about code development, features, specific bugs, enhancements, patches, and similar things.
Forum rules
Please keep everything here strictly on-topic.
This board is meant for Pale Moon source code development related subjects only like code snippets, patches, specific bugs, git, the repositories, etc.

This is not for tech support! Please do not post tech support questions in the "Development" board!
Please make sure not to use this board for support questions. Please post issues with specific websites, extensions, etc. in the relevant boards for those topics.

Please keep things on-topic as this forum will be used for reference for Pale Moon development. Expect topics that aren't relevant as such to be moved or deleted.
DarksideSH

Portable 32 and 64 Bit combined

Unread post by DarksideSH » 2011-10-29, 03:08

Hello,

I would like to suggest that the 32-bit and 64-bit portable versions be combined. Have the 32-bit install to one directory, the 64-bit be installed in a different directory, and then have them share "profile" directory that would be the add-ins/person preferences/ect. Have the "Palemoon-Portable.exe" identify if the system is 64-bit/32-bit system, and then run the appropriate 'bit" version run using the shared profile. This would offer truer portability, especially if it is run from a portable drive.

Is this possible? Is this possible in future releases?

Just my two cents, and any feedback would be welcome.

Thanks in Advance,

DarksideSH

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35602
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Portable 32 and 64 Bit combined

Unread post by Moonchild » 2011-10-29, 07:29

The problems with that idea are manifold. The most important ones:
  • It's not a good idea to launch a 64-bit application from a 32-bit launcher. The 64-bit one would need a 64-bit launcher, but a 64-bit palemoon-portable.exe doesn't run on a 32-bit O.S.; it's a bit of a catch-22.
  • Plugin support for the 64-bit browser still leaves a lot to be desired. This means that when a 64-bit version would be launched, the user would be limited in what they can do. The 64-bit portable is more focused on people wanting a 64-bit "standalone" browser rather than focusing on "stick use"
  • Including both binaries for stick use would inherently double the space requirements on the portable medium. The aim is to provide a small package (in fact, later today the portables will be updated to versions that take up to 50% less space on the stick)
  • If you want to use it as a true portable browser for multiple systems in mixed/unknown environments, you are always better off using the 32-bit version only. Functionality-wise, it will be the same as the 64-bit one.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

NathanJ79

Re: Portable 32 and 64 Bit combined

Unread post by NathanJ79 » 2012-02-18, 04:50

Well, the smart thing to do would be for the end user to just have both. It's trivial to find out if the OS is 64-bit or not, or one could take the easy way: Start with the 64-bit version, and if the OS kicks back an error, it's probably not a 64-bit system, no harm no foul, just run the 32-bit version.

The same solution solves the launcher program. The launcher is a simple .bat that tries to launch the 64-bit launcher. If it fails, the OS kicks back the error, but a command-line switch suppresses it (at least, I believe this is possible) and then launches the 32-bit launcher. Otherwise it just launches the 64-bit as planned. Or, you employ some kind of trickery to have them both work off the same profile, and just ask the user when they launch it which one they want. Surely the launcher can detect the OS version, so it can grey out the 64-bit version if it isn't supported.

WRT 64-bit plugins, the only tricky one is Flash. This is from using Waterfox (the 64-bit optimized Firefox) early last year. I don't know if Pale Moon x64 is much different from Waterfox, though.

Space requirements on portable drives are something nobody should be worrying about in 2012. Drives are about $1/GB up to 16GB these days. 32GB is a little more than $32, usually $40-50. But if you're talking about that kind of space on a USB drive, you may as well just get a portable hard drive. I got a 500GB Western Digital for $60, and it runs Pale Moon Portable just as fast as it runs off my computers at home. It's a hard drive, it's gonna be faster than even a Corsair Voyager GT (best speed for the money in my experience). Even Corsair's Voyager GTR (the $300 one) isn't as fast as a portable hard drive. Plus, it's still flash memory, subject to all the flaws of that medium.

You're definitely right about the last part. I've never seen an advantage in 64-bit Firefox (again, all I tested was Waterfox). 64-bit IE9 is marginally better than 32-bit IE9 in Windows 7, but IE is highly optimised for Windows (and vice-versa).

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35602
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Portable 32 and 64 Bit combined

Unread post by Moonchild » 2012-02-21, 23:07

Consider the practicalities of combining it. You would end up with a browser that would, in its current state, have varying functionality because of the 32-bit vs. 64-bit functionality re: plugins, depending on which machine the stick is plugged in to. For that reason, the 64-bit version of the portable should still be considered experimental since you can only rely on basic browsing functionality. Usage scenarios of the 64-bit version on a stick are a lot more limited than the 32-bit version.

If and when 32-bit plugins will be able to run in 64-bit browsers, combining both versions becomes interesting.

Using a batch file to do a "try" launch is also not as simple. Error handling differs per Windows version, for example - and it's never a good idea to rely on throwing an error for normal program execution; that's just bad form and asking for issues.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

Locked