Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Windows 10 Search always asks which application to use (Read 16602 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Windows 10 Search always asks which application to use

It looks like there is an incompatibility between windows 10 and the way foobar2000 registers itself as the default application for filetypes.

Opening an associated filetype through the windows explorer works absolutely flawless, but when I try to open the same file through the windows search results, I'm always asked if I want to keep using foobar2000 to open this file, or use a different application.

Example: https://puu.sh/kX7y4/e1be9ef96a.png

This problem happens with every filetype I associate with foobar.
Other applications, like VLC, WMP, or MPC, don't have this issue and simply play the file like they should.
I tried the stable version 1.3.8, as well as the newest 1.3.9 Beta 4.

Is there anything that could be done about this, or do we need to wait for a new version of foobar that fixes this?

Windows 10 Search always asks which application to use

Reply #1
Have you checked the box for "Always use this app to open .wpl files"? If you do not, Windows 10 will not save the default association and will continue to ask.

Another method for associating known file types with foobar2000 is using the Default Programs control panel: Control Panel -> Default Programs -> Set your Default Programs -> foobar2000 -> Choose defaults for this program

Windows 10 Search always asks which application to use

Reply #2
Well, I can reproduce this, at least.

Have you checked the box for "Always use this app to open .wpl files"?

Yes, of course, and it doesn't make a difference, here. It will still ask the next time.
elevatorladylevitateme

Windows 10 Search always asks which application to use

Reply #3
I tried this myself just now and even after confirming I wanted to use foobar2000, Windows sent the file to MediaInfo the second time around. When I right-click on the file, MediaInfo is the first option listed for target applications, so it's possible that this is an issue with Windows itself (e.g., Windows is following the first target function it comes across rather than obeying file associations).

Windows 10 Search always asks which application to use

Reply #4
Should be fixed in 1.3.9 beta 5, thanks for reporting.
Microsoft Windows: We can't script here, this is bat country.

Re: Windows 10 Search always asks which application to use

Reply #5
Please note that I'm reverting this fix.

This is an apparent bug in Windows 10 that Microsoft should be fixing. Our own attempts to work around it have caused various unwanted side effects:


Could be a also bug in our shell extension code, but it's a retarded design that we even need this shell extension just to provide properly working commands in Explorer, I don't even want our code running anywhere near Explorer process!


To make long story short, Microsoft just can't provide a clean way to send more than one file from Explorer to an application. They had a chance to fix it each time they released a new major Windows version, and they've not done anything about it for the last 20 years as far as I am aware of.

Known workarounds:
  • A shell extension - which is what we currently do, apparently breaks with Windows 10 search
  • One foobar2000 process per file - messy, inefficient, no way to know when they've finished sending us files other than using a delay timer, which introduces an annoying delay between clicking files in explorer and foobar2000 UI response to it ( like this ).


It's worth mentioning that Mac OS X Finder does this right, a group of items gets properly delivered to the app without spurious process instances or other issues.
Microsoft Windows: We can't script here, this is bat country.


Re: Windows 10 Search always asks which application to use

Reply #7
I'm also considering the possibility of making the shell extension opt-in as it is not necessary for the rest of our app to function. The only difference is that without it, interaction with Windows Explorer will not be as smooth, all play/enqueue actions will be slightly delayed.
Microsoft Windows: We can't script here, this is bat country.

Re: Windows 10 Search always asks which application to use

Reply #8
It's worth mentioning that Mac OS X Finder does this right, a group of items gets properly delivered to the app without spurious process instances or other issues.

That's an interesting one. Apple have always maintained a one-to-one relationship between programs and processes. A program is either running or it isn't. When you address a program (AppleScript or Apple Events) you are doing just that: addressing a program. If it's closed, it opens. If you select several files and double-click one of them, the only option the Mac conceivably has is to pass them all to the program, creating its one and only process if necessary (and it does help that the program receives the whole list collectively). The idea of having several instances of the same program in separate processes is totally alien to the Macintosh concept.

I've long felt that Apple Events and everything they stand for is something desperately missing from Windows — clean, encapsulated, structured message passing with scripting and script recording. The AppleEvent Object Model itself, plus the standard library, was so much better than Windows Scripting Host. Not only that, but it was widely implemented, so much so that even Microsoft Outlook Express:mac 5 was not only scriptable but had scriptable event handlers. (Best mail client ever ; )

At the same time, while the Apple Event model fully supports verbs just like with Windows, there has historically been no notion of verb control like Windows. The idea of creating an "enqueue" verb has always been meaningless on a Mac. An individual player can define its own AppleEvent suite, and an "enqueue" event, allowing you to write: 'tell application "foobar9000" to enqueue (some list of files)' — but I've never seen any indication that Finder has any way to connect this scripting dictionary entry to a file type. Maybe something's changed since — I use almost exclusively Windows desktops and servers and Linux servers now. Apple also never understood File → New, despite their stationery concept permitting this to be drastically better than the diabolical Windows implementation (and in fact, I had a third-party CMM that gave me right-click → New in the Finder back in Mac OS 9, using stationery such that I could have unlimited templates per file type.)


Getting back to the bug, I am intrigued how old it is. I never had this bug in Windows 8 or 8.1. I upgraded to Windows 10 in December, and still never had this bug. The bug only started for me sometime in the last few months: I don't open many files from search, but at the end of June, after recently updating Windows 10, I suddenly noticed that search results always prompt me to keep using the program I was always using. I though that something new had triggered it, while clearly it's much older.

As for the extension — I hear you. I remember the pain of dealing with multiple files in Winamp in Windows 2000, which was a real mess. It never actually occurred to me that foobar2000's enqueue facility was actually completely impossible and shouldn't be working. Now I realise what the shell extension is for, and it all makes sense!

I think my choice would be the extension, as I probably enqueue batches of files more often than I launch from search, and so long as I know that Windows itself isn't collapsing in on itself, I can live with an extra enter keypress. If you want me to test new builds though, I'm happy to oblige.

Re: Windows 10 Search always asks which application to use

Reply #9
What has the Windows' problem with sending multiple files to an app in common with missing context menu item?

 

Re: Windows 10 Search always asks which application to use

Reply #10
Windows supports "verbs" — a set of actions that can be performed on a file, such as View, Edit, Print, Compile, Enqueue etc.

The problem is that if you select a group of files in Explorer and invoke a verb on them (e.g. Enqueue), each file is handled separately. If you select 10 files then right-click and select Enqueue, Explorer will run foobar2000 ten times, giving one file to each. Here's when I was battling with Winamp way back when I had Windows 2000:



Deficiencies in Explorer can be solved by installing a program inside Explorer (a "shell extension") to gain the behaviour you should have had in the first place; shell extensions are plugins for Explorer that extend its functionality. That's what foobar2000 does, and the shell extension is causing problems of its own in Windows 10. I notice that I get this same bug in Outlook 2013 with my custom zip file expander, and that could potentially be due to the 7-Zip shell extension that handles zip files (my expander is just a wrapper around 7-Zip).

If I understand correctly, the foobar2000 shell extension overrides or replaces the verbs with a more intelligent behaviour that hands all the files together to foobar2000, and this is where you can get missing or duplicate commands in the context menu for files.

Re: Windows 10 Search always asks which application to use

Reply #11
Case helped me to solve the issue in another thread with the following:

Enqueue missing from M3U isn't related to recent foobar2000 changes or bugs in Windows 10. It is missing by default on Windows 7, 8/8.1 and 10 but works on Windows XP. Somehow Windows Media Player's commands are shown instead of foobar's for this file format.
If this is your issue and you don't need WMP it's easy to solve by disabling the program. You can type "computerdefaults.exe" in the Windows search bar and run the program. Click on the Custom line and untick "Enable access to this program" from Windows Media Player.

Re: Windows 10 Search always asks which application to use

Reply #12
Oh, that's a whole other bundle of joy. I don't actually want to remove WMP, so I use the Registry tweak, of simply deleting the WMP actions from the Registry, such that the program remains accessible but doesn't clobber other programs. Didn't Microsoft learn anything from its encounters with the Department of Justice in the past?

Re: Windows 10 Search always asks which application to use

Reply #13
Please note that I'm reverting this fix.

This is an apparent bug in Windows 10 that Microsoft should be fixing. Our own attempts to work around it have caused various unwanted side effects:


Could be a also bug in our shell extension code, but it's a retarded design that we even need this shell extension just to provide properly working commands in Explorer, I don't even want our code running anywhere near Explorer process!


To make long story short, Microsoft just can't provide a clean way to send more than one file from Explorer to an application. They had a chance to fix it each time they released a new major Windows version, and they've not done anything about it for the last 20 years as far as I am aware of.

Known workarounds:
  • A shell extension - which is what we currently do, apparently breaks with Windows 10 search
  • One foobar2000 process per file - messy, inefficient, no way to know when they've finished sending us files other than using a delay timer, which introduces an annoying delay between clicking files in explorer and foobar2000 UI response to it ( like this ).


It's worth mentioning that Mac OS X Finder does this right, a group of items gets properly delivered to the app without spurious process instances or other issues.
Hi Peter, I'm wondering if there's any news regarding this:
https://hydrogenaud.io/index.php?topic=110370.msg918636#msg918636
as I am still experiencing the "How do you want to open this file?" when I open via the Windows search.

Re: Windows 10 Search always asks which application to use

Reply #14
Something not mentioned here, that used to be the way to do it in the past, was DDE. A shell verb could be augmented with a DDE action, which allowed a command to be passed to an existing process somehow (some of you may remember these settings from the old days when you could manually edit file type definitions). This is what Firefox did, for example. If the DDE action required launching the program first, and it didn’t respond fast enough or what not, Explorer would stupidly tell you that file you just double-clicked does not exist.

(DDE seems to be a nonsensical attempt to replicate Apple’s AppleEvent system. When a Mac program launches, it is given an initial AppleEvent indicating what its first task is (typically new document, open a file, or print a file) and it never screws up like DDE does. Lots of Microsoft ideas all amounted to lousy copies of AppleEvents.)