You are here

File Associations in the PortableApps.com Platform, How Windows 8 & 10 Break Things, What Do You Think?

33 posts / 0 new
Last post
John T. Haller
John T. Haller's picture
Online
Last seen: 11 min 15 sec ago
AdminDeveloperModerator
Joined: 2005-11-28 22:21
File Associations in the PortableApps.com Platform, How Windows 8 & 10 Break Things, What Do You Think?

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!

Wm ...
Offline
Last seen: 2 months 4 weeks ago
Joined: 2010-07-17 12:37
Tricky, no answers for now

Aside: I tend to right click and associate rather than double click and *expect* an association. Which method do most other PA folks use?

The significance is that I don't expect a file association to work unless I've done the exercise but other people might regardless of whether they've just plugged into a "new to them" system ... which seems rather odd to me. I'm the guest after all!

Wm

jwp1000
Offline
Last seen: 1 year 1 week ago
Joined: 2015-10-20 07:45
vlc

I could not get my toshiba windows 10 upgraded to let me right click and make vlc the way I wanted to look at flv or mp4 or avi files.
I just does not want to. I do it in windows 7 no problem.

Dan Carroll
Offline
Last seen: 5 months 2 weeks ago
Joined: 2015-10-26 08:58
File Associations

I'd be happy if I could right click and use Send To.

Dan "FloriDan" Carroll
Just an old hacker having fun.

rozberk
rozberk's picture
Offline
Last seen: 7 months 1 week ago
Joined: 2007-05-14 15:05
This might help you

There is a program out there that lets you manage your Send-To shortcuts. I only testing it for a few minutes, so I do not know if it is a great program or not, but if you find it useful then it might work for you. http://www.novirusthanks.org/products/send-to-manager/

jmoharris
jmoharris's picture
Offline
Last seen: 6 months 2 weeks ago
Joined: 2016-09-12 20:32
Send To Manager

Hello rozberk,

Thank you so much for the referral to Send To Manager! I had moved the folder location of my portable apps and then I lost all file associations. Windows 7 wouldn't let me add the portable apps back as the "opening programs" so I was tearing my hair out trying to figure out a way to solve the problem. You really saved the day. Thank you so much!!!

Fisher_AZ
Offline
Last seen: 6 months 2 weeks ago
Joined: 2014-10-12 09:41
I would vote for adding the

I would vote for adding the functionality as-is, but leaving it off by default. If I understand correctly, the problem with the new system in Windows 8+ makes this functionality unusable for the "I use PA because I take my USB-stick on the road" crowd, but still perfectly usable for the "I use PA because I prefer it over installed software on my PC" crowd. The latter is a big part of your audience (possibly the majority), and many of us really would like to set file associations controlled by the PA platform. So I would opt to give us this option, add a warning to it, and then let us use it at our own discretion. Users who really want file associations, will also understand the technical limitations (and our responsibility for not messing up other people's PC's). Users who are not interested (or don't care) will never be confronted with this, as we'd explicitly have to opt in to be able to use this.

In addition, I wonder whether there still might be a possibility to implement a technical solution that could prevent a PA user messing up someone else's system. As outlined above, within the current framework file associations are only going to be practical on user's own systems. So why not implement a kind of "system check": use/calculate a unique ID for your computer hardware, and limit the file associations to that particular system. I.e. if you're working on your own PC, you use the file associations defined within the PA platform - but if you use the platform on a different PC, the check fails and Windows' default file associations are used. This would mean that if you copy the platform to a new PC, you'd have to re-define the associations again (once per file type) but I would still find that quite acceptable. I see two potential stumbling blocks with my own suggestion:
1. it might be difficult to implement technically - I simply have no idea how easy/difficult this would be ...
2. you might not like the suggested idea of a per-system ID as it goes somewhat against the idea of "full portability". But I would argue that with file associations, we are by their very definition on the boundary between the (local) operating system and the (possibly portable) software application, and then would vastly prefer a practical solution that would help many users, even if it is not 100% "ideologically pure".

On a final note: whichever way this ends up going, I really appreciate the fact that you have not given up on the idea of setting file associations, and are still considering possible solutions despite the extra hurdles created by Microsoft.

ottosykora
Offline
Last seen: 1 week 1 day ago
Joined: 2007-10-11 17:48
for portable use

I am against any kind of associations. I use portable apps only very seldom and in special cases from lokal drive and this only temporarry. If I want use a program from lokal drive and have all the features windows will provide for it, I install it properly.
For portable use, any file association is not needed, still can not understand why this might be an issue at all.

Otto Sykora
Basel, Switzerland

farat_as
Offline
Last seen: 1 month 2 weeks ago
Joined: 2012-02-14 09:02
I am fully supporter of file

I am fully supporter of file association. Because many people like me use portable apps locally on their machines..

Why I use them localy (without installing it)?

- Many users like me format their Windows machines. So I can not install and set up my configurations for 80+ applications.

- Some apps not update themselves. But portableapps menu (platform) updates them automaticaly. So I use these apps from our platform because I can not update them one by one and check them if ther is an update or not.

- I believe (and this is true) Windows slow down when we install apps. After 80+ app Windows is not an OS. It is a dangerous buggy and slowest thing.

- I can write other thing but those enough for someone to do not install apps and use them locally.

I use %80 portable apps on my 2 home and 1 office machine. 2 of my friend use also %60 their apps portable because of me Smiling So I we need file association feature.

Fisher_AZ
Offline
Last seen: 6 months 2 weeks ago
Joined: 2014-10-12 09:41
There are many advantages

(this reply was written before I saw the reply from farat_as. I'm still posting it, despite some overlap with this reply)

There are many advantages of using portable software even when principly working on the same PC. For me, the main advantages are:

1. it is good practice to separate the system (on the C-partition) from applications and data (e.g. on the D-partition). The system can be back-upped/restored with disk imaging software (or by using some of Windows' built-in tools). All the stuff on the D-partition, i.e. data + portable apps can be back-upped/restored with standard file-management software. Having portable apps on e.g. a D-partition means I can restore to a previous system image (in case of problems with the system) without losing any updates, settings, etc. in all the (portable) apps on the D-partition.

2. a unified updating system (via the PA updater), instead of having to update every individual program individually. This is a big time saver!

3. with a few mouse clicks, I can copy my software library to a USB-stick (a) to use it on someone else's PC, or (b) to copy it to my new PC. Again a big time saver, as this dramatically reduces the setup time on a new computer. Which is not a very rare event if you administer several PCs (work, personal, family, ...) - and laptops get replaced every 2-4 years.

I personally don't really understand why one would still use installed software if a portable app alternative is available (except for things like anti-virus software and such). But that's not really relevant: the point is that everyone should use their computer in the way they prefer! Using software is about making choices, and good software gives users good choices. Which is one of the things which makes PA.com so great!!

gosa
Offline
Last seen: 1 year 2 months ago
Joined: 2009-08-04 08:41
I might be a bit late into the thread but...

I recently found a new use for the PortableApps platform (a platform I used for many years now in one way or another), and that is on my recently purchased tablet.

This tablet is one of those 2 in 1 solutions that Asus sell with everything between 32-128GB of internal disk drive. Reading up on the subject before purchasing that one major issue with a cheap Windows tablet is what's left after installing OS and other key components/apps (32GB seems like a real horror show to maintain).

This led me to - quite early in the game - decide on keeping a selection of PortableApps "installed" onto my secondary storage which sits - permanently - in my microsd slot.This storage is represented by a decently fast 128GB card that effectively expands my 64GB space that I have internally and makes everything so much more manageable. I actually went a bit wild and downloaded just over 5GB of apps (installed size) just in case. My next step will try to get the folder synced by either Box or Copy.com - something that seems to be much easier than with Dropbox.

Need I say that I am in favor of file associations?

ottosykora
Offline
Last seen: 1 week 1 day ago
Joined: 2007-10-11 17:48
sorry but portable is for portable

if someone is using portable apps just because be too lazy to set up his computer properly, well then he can not expect all to work the same way as when all is set up properly.

Portable apps need to be most useful for portable use and this is the first sens of having portable apps at all. To have any file association in a portable app is rather useless, unless for those few people who still believe the PC will run slowly when the install programs the way it is designed.

And when I use portable app, let say libre office, and I need to open a file with it, all I need is to oen the office and navigate to the file. No need to do it the other way around and hope break the operating system just because I want have it the upside down way.

Otto Sykora
Basel, Switzerland

farat_as
Offline
Last seen: 1 month 2 weeks ago
Joined: 2012-02-14 09:02
@ottosykora

@ottosykora

sorry but portable is for portable --> yes this is the main purpose. but that does not mean, we dont need the other features like file association...

if someone is using portable apps just because be too lazy to set up his computer properly, well then he can not expect all to work the same way as when all is set up properly. --> i am not lazy. I just save my time.

Portable apps need to be most useful for portable use and this is the first sens of having portable apps at all. To have any file association in a portable app is rather useless, unless for those few people who still believe the PC will run slowly when the install programs the way it is designed. --> Yes that true. But at the end, Windows slow down after each app I installed. Even this is not Microsoft's wrong, at the and this is true Smiling Windows getting slower each time.

And when I use portable app, let say libre office, and I need to open a file with it, all I need is to oen the office and navigate to the file. --> If you use locally, you can not do it each time. This is waste of time. If no one will develop something about file associations, at least please develop something to create shortcuts to "send to" menu.

No need to do it the other way around and hope break the operating system just because I want have it the upside down way. --> I use portableapps's file associator since many years, I never break anythink.

John T. Haller
John T. Haller's picture
Online
Last seen: 11 min 15 sec ago
AdminDeveloperModerator
Joined: 2005-11-28 22:21
Both Portable and Local

We have lots of users that use all 3 supported setups: (1) portable on a device, (2) portable on a synced cloud folder, (3) local that's not moved. Our platform installer works with all 3 automatically including both a shared local (C:\PortableApps) and a private local (C:\Users\UserName\PortableApps). The installer even creates an icon in the Start Menu and offers to automatically start it with Windows if you do a local install.

As such, we'll be making accommodations for all 3 types of users.

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

liar666
Offline
Last seen: 5 months 3 weeks ago
Joined: 2015-01-22 07:49
PortableApps, Windows 10 and FileAssociations

Hi,

In a normal situation, I would agree with ottsykora: Portable is for Portable and we should not mess the main goal of the platform with unrelated stuff... Unfortunately, we are facing a broken OS, so the situation is different. Like many have described here, I /cannot/ manage to get a decently usable&maintainable win10 installation if I do not install my apps as portable even if they are located on the local harddrive and will never move from there.
So I would agree with having a (disabled by default) system that allows to set file associations

Anyway... In the meantime, how do you, guys, do to set file associations by bunch? More importantly, how do you set a PA as a default App in win10? For instance I can set FF as my default browser because when I ask to do so in FF, the Win10 dialog box that appears displays FF as a choice, but xnview, 7zip, notepad++ or pdf xchange do not appear in the dropdown list of the win10 dialog and I could not find a (working) way to add a PA to this windows dialog. What's the best work-around?

Ben09880
Offline
Last seen: 1 year 4 months ago
Joined: 2013-05-06 15:10
Why not use a portable file

Why not use a portable file manager that supports its own file type associations?

John T. Haller
John T. Haller's picture
Online
Last seen: 11 min 15 sec ago
AdminDeveloperModerator
Joined: 2005-11-28 22:21
Already Can, Apps

You already can. As well as use something like eXpresso which handles it for all portable file managers. The issue is more for apps. Clicking a mail link in a browser. Clicking a link in an About box or Help menu in literally any app. Things like that.

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

ferteg
Offline
Last seen: 1 year 2 months ago
Joined: 2016-01-06 09:15
I use Windows 10 and I don't

I use Windows 10 and I don't know how to make all the file associations, permanently (I use the suite only with my own laptop only). Did you solve the problem?

Hipnotyzer
Offline
Last seen: 2 months 1 hour ago
Joined: 2016-01-12 20:44
I just created account to

I just created account to back up this idea. Some programs have built-in options to create file associations but some of them (e.g. LibreOffice) doesn't. It would be great to have some ways of doing it in more automatic, platform-level way.
For me the most useful option is locally creating permanent associations as I use platform to speed up updates etc. But if you could implement something like eXpresso for truly portable users - that would be great. Maybe make both of these options as a kind of plugins for platform? That way only people interested in them would install them, knowing consequences and limitations.

One more thing - as you control which programs are on the platform, would it be possible to create some kind of predefined templates of associations? For example Foxit Reader would have only one template (with .pdf etc.) but VLC Player could have different ones for music and video. After adding such template to user's configuration fine tuning it for user's needs would be much easier than manually creating all these associations.

rozberk
rozberk's picture
Offline
Last seen: 7 months 1 week ago
Joined: 2007-05-14 15:05
I vote for some sort of file association

Thanks to the flexibility of PA's, I use them from USB's and syncing them through the cloud. Which means I have PA's on my main computer that are always there now - and prefer them that way for many of the reasons people have mentioned.

I wouldn't mind an administrative way to change the file association - or at least a way to add the correct registry entries needed so I can go into the Control Panel and change the file associations for the default programs myself. It would take some effort on my (the user's) part but I think, with a clear explanation on what needs to be done and why it might not work if you do not have administrative option, it could work for both camps - those on the go and those that never go.

djnavas
djnavas's picture
Offline
Last seen: 1 month 2 weeks ago
Joined: 2008-01-30 17:27
Could a portable file explore manage the file association?

Just a think. I am not an expert in informatics.

farat_as
Offline
Last seen: 1 month 2 weeks ago
Joined: 2012-02-14 09:02
Any news about file

Any news about file association? Sad

trophyjoe
Offline
Last seen: 1 year 6 days ago
Joined: 2010-03-13 11:56
Portable File Associations

Have you considered using a Portable file browser that has its own file associations and leave the OS's associations unaffected? Not the best solution, but I could live with it. Better yet, all (or any) portable file browsers could be made to first check for a portable association and, if none exists, then use the OS's association.

(When I posted this, I did not notice that this has already been suggested.)

emmanuel d
Offline
Last seen: 5 months 3 weeks ago
Joined: 2006-08-26 12:27
there are 2 portable

there are 2 portable solutions that dont use the registry. of course that excludes url links inside applications.

1. Portable explorers like:
XenonPortable this one is slow, much slower then the one i made, and also ugly, even uglieer than mine Eye
XYPlorer wich is good but using rightclickmenu for associations only works in PRO version, but doubleclick runs your apps

2. Catching clicks in explorer.
Café (alias expresso) is one. but no menu, only doubleclick, so again made my own with menu

my explorer: https://dl.dropboxusercontent.com/u/1649772/explorer.png
my menu: https://dl.dropboxusercontent.com/u/1649772/menu.png
i don't use the launcher anymore my explorer handles it all, even recent files

are these not better than messing with the registry?

emmanuel d
Offline
Last seen: 5 months 3 weeks ago
Joined: 2006-08-26 12:27
jauntePE

A other option is jauntePE, it can intercept everything.
It could be set up to only catch the part in the registry where the fileassociations are storred. It can intercept anny childprocess of portableapps.

However it's in alfa stage and no longer devellopped. I think

farat_as
Offline
Last seen: 1 month 2 weeks ago
Joined: 2012-02-14 09:02
I think catching the clicks

I think catching the clicks from explorer is the most portable way.

1- we dont touch registry.

2- we can revert all settings back with one click (this action is possible with portabellapps-file-associator. but it is not %100 secure, if you change or delete the /data folder of portabellapps-file-associator.)

expresso-type app is better. + it shoudl always have a "send to" options for apps like vlc, notepad++...

@John T. Haller what is the latest news about association..

emmanuel d
Offline
Last seen: 5 months 3 weeks ago
Joined: 2006-08-26 12:27
The problem is that it can

The problem is that it can not be reliably implemented.
MPC-HC for instance has no fileassociations. As do many others.
And firefox has manny, but url is missing, wich is important.
Also there is no general rule where to store the users prefrence on doubleclick or enter. where do i store that info, or am i free todo whatever? There need to be a common place where i can look for it, so that my app would use the same setings as expresso or any other portable explorer.

See the problem?

I dont use the registry, but on that matter, what does the users choice matter if the user says to use portable associations, especialy if its on a fixed drive.
And if not, you could backup the userschoice an restore it when done, or am i wrong here?

I used to be a expert for fileassociotions, but got tired of it, and made my own explorer. Much better now.

farat_as
Offline
Last seen: 1 month 2 weeks ago
Joined: 2012-02-14 09:02
Sory but I did not understand

Sory but I did not understand the problem here. I still thinking that the most portable way is apps like expresso which catchs the double clicks.

the disadvantage of expresso is that the aps will not start from other apps. that isproblme but if there is no another better way? we will not use no more associations.

the portableapps association (alternative of expresso) is not secure. expecially for end users. you should always backup the /Data folder. even backup of data folder is not a %100 solution. you should remember also which time you had backup bla bla...

if i am not wrong: event on windows 10, where is no way to reset the file associations to default. thus maybe you will need to remove the windows-user. also there is another disscussion here: what makes the file associations "default". I mean what is definition of "default". if you will install vlc (not portable), and after you will reset file associations somehow, .mpeg files will open with vlc ? vlc has GUI option to change file associations, but if another app does not have this feature. you will re-install the app.... These are big problems... Most portable and secure way is an app like expresso. maybe we will not have option to open, inside from other apps but at least we will use the secure ad portable way. if you use portable app, you will have limitations.

emmanuel d
Offline
Last seen: 5 months 3 weeks ago
Joined: 2006-08-26 12:27
also i found this in firefox

also i found this in firefox app info:
[Associations]
FileTypeCommandLine=-requestPending -osint -url "%1"

i sincerely hope that is for the launcher FirefoxPortable.exe to handle?
it is not productive to let 3th party app handle this?

also there is no reliable info in the appInfo.ini file that says this is a "web Browser"
for opera: Description=Web browser, email and torrent client
that is just a sentence.

Please John create some rules.

Also for filetypes i would like to see added "\" as to indicate a folder
Aimp for instance would happily play a folder
FileTypes=\,aac,ac3,acs2,acs3,aimppl,......

And maybe * might be used for all filetypes

And John, Thx for the effort for doing all these apps, and keeping up with us whiners. Eye

Ken Herbert
Ken Herbert's picture
Offline
Last seen: 9 hours 24 min ago
DeveloperModerator
Joined: 2010-05-25 18:19
Unfortunately that is a bad idea

Just because an app can select a folder to play/do something with doesn't mean you would want to associate folders to the app - if this were even possible it would break Windows.

The same for * handling all associations. This would directly break Windows as .exe files would then be bound to your app (which is a .exe itself - see the danger?). Sure, you could filter out .exe files, but there are also a number of other file formats Windows uses behind the scenes that would also break your system (some of them even worse than associating .exes), and even if we filter them out, we can't stop Microsoft adding different ones in Windows 11, 12, 13 etc.

I've had to fix a PC before where a user accidentally associated .exe files to NotePad or WordPad. It is difficult, takes a while, and requires direct registry hacking to fix - a situation normal users won't want us forcing them into on their own PC (or worse, someone else's).

the developer formerly known as winterblood

John T. Haller
John T. Haller's picture
Online
Last seen: 11 min 15 sec ago
AdminDeveloperModerator
Joined: 2005-11-28 22:21
Folder via SendTo

One option I've considered for apps that can receive input of a folder is to make them available within the SendTo submenu on a right click.

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

emmanuel d
Offline
Last seen: 5 months 3 weeks ago
Joined: 2006-08-26 12:27
Not a bad idea at all.

Not a bad idea at all.
apps like expresso or others can catch that.
If it is a folder or executable doubleclick always passes true.
An if your app would do real associations in the registry, it is the develloppers job to cach these.
Thats easy

ElectricMind
Offline
Last seen: 1 month 3 weeks ago
Joined: 2017-01-28 13:33
Two other methods

I have two suggestions which may be the best method to implement this feature given the current OS restrictions.

First I would take an approach similar to your autorun portableapps on drive insertion. I would make an option in the GUI to install a local program that handles the file associations and passes them on to a portableapps platform of our choosing or whichever one is running (I tend to run more then one so both options would be great). If none are running pass it onto a system default, if there are some running pass it on to the platform. Then in any windows version you could set it to always send to portableapps file association manager which would let us add/edit a default for when portableapps isn’t running. An even easier method would be to auto run whatever the default was set to before the manager took over it. Then you don’t have to have users manually configure everything and program it all in.

For example. If my browser default was set to Firefox and I installed the portableapps file association manager it would read the default before asking me to change the default to the manager. Then it can pass the command onto the platform if it has a portable Firefox installed, or let me choose which program it should run. When that isn’t available or it times out then simply run the system default.

This method obviously isn’t purely portable but from what I see its the best compromise between the options. Then only users who want it would install it and set it to default and those who don’t would just ignore the option. It would definitely leave behind a program and settings but most users wouldn’t care or even notice so long as it auto runs the system default when the platform is not running. That way I could also choose to install it on my grandparents machines so when I am working on them it runs on my portable apps but as soon as I eject the flash drive it goes back to their defaults. They would never realize it isn’t the default from a technical standpoint. I would also be using it on my own computer for many of the same reasons the other users said they use it on their local machines.

Second there is another method which may or may not be closer to true portable but a huge pain to implement and riddled with peril. Taking a page from the methods used by anti-virus programs. That is setup the portableapps file association manager to use an approach similar to On-Access Scanning and if the platform is running stop the execution and pass it onto portableapps. Otherwise allow it to run as normal. This would likely require some sort of custom driver to intercept hard drive events such as anti-virus software use. It seems they can be installed and ran without a restart such as the newest versions of Avast running on Windows 10. It is able to install the full anti-virus and do scans without me having to restart. I could see this method causing tons of problems especially with anti-virus programs that also are doing that themselves and taking many hours to implement and debug. Its the only way I can see being able to make it closer to truly portable assuming windows not only lets you install this driver but uninstall it without restarting. I haven’t really checked the new win32 api events added with windows 10 so for all I know it no longer takes custom drivers but rather an event interceptor. Just a thought, not sure it would be worth the time to try and implement it. Especially if it were to require a windows signature as an anti-virus security company to allow access to these low level options. Since it seems to know what anti-viruses are installed and only accepts one on their list to auto disable windows defender I assume it requires an agreement.

Personally if I were writing the program for this feature I would make an option based on my first suggestion since its both optional to the end user and would not hinder the system with tons of broken file defaults every time I remove my drive with the portable apps platform on it. Hope this suggestion helps and keep up the great work!

Log in or register to post comments