As many folks know, we've wanted to add file associations to the PortableApps.com Platform for a while now, but we've wanted to do it well. A good chunk of the underpinnings are done though the UI is unfinished. Unfortunately, Windows 8, 8.1, and 10 don't permit apps to adjust file associations and then set them back anymore the way we had planned when developing for Windows XP/Vista/7. Associations must go through the OS with the user being prompted to change them. This is by design so that apps can't steal associations like setting themselves as your default browswer without your permission.
Here's an example: We could set the portable browser to handle HTTP/HTML as was done in PortableFileAssociator. Then when you click a file/link the OS will prompt you whether you want to use your portable browser or one of the installed browsers on the machine and remember that selection. When you eject we remove the portable browser association since we won't be around anymore. Here's the bad part... now when anyone on the PC clicks a link after that, the OS will ask again what local browser you want to use, potentially showing multiple options to the PC's actual owner. And while it's not so bad for browsers, it's more complicated with things like DOCs on machines that might have an old copy of OpenOffice, a newer version of LibreOffice, and a trial version of Microsoft Office installed alongside WordPad, which could create a lot of confusion if you were to use a portable drive on a PC of a friend/relative who is a bit less technical.
Essentially, post-Windows 7 you can't portably associate and then associate back cleanly anymore. And while there was some logic to just setting the issue aside due to Windows 8 having such a small market share before, Windows 10 is on track to be the fastest growing Windows release ever due to the fact that it's a free upgrade for Windows 7, 8, and 8.1 users. Windows 10 has already surpassed Windows Vista, Windows 8, and Windows 8.1 usage combined.
This leaves us with a bit of a conundrum. How can we allow portable file associations but still stick to the mantra of portable software working... well... portably? We've tried a few workarounds, but Windows is designed purposely to not allow apps to do this anymore.
One option we have is to have the associations available by default to local install platform users but hide it for portable users. Or we can leave it off by default entirely but have a big warning for folks who choose to enable it. We can also offer a simpler default version a la eXpresso (formerly CAFE) that detects double-clicks in Windows Explorer and other locations and then launches our own file associations just while the platform is running. This can be done without messing up associations but it won't work for associations launched from other apps (like clicking a link to online help in an app's Help menu).
So, there's our conundrum. I'm looking for any thoughts or suggestions. Thanks for your input!