HydrogenAudio

Hosted Forums => foobar2000 => Support - (fb2k) => Topic started by: ailef on 2012-08-08 19:34:54

Title: Windows 8 RTM - foobar 1.1.13 - shell integration
Post by: ailef on 2012-08-08 19:34:54
hello,
Windows 8 RTM was released few days ago,
foobar 1.1.13 seems to work, I can listen to music with no problem.
I just noticed that in shell integration menu, the link to manage file type associations doesnt work at all.
nothing happens.

when i right clic on some music file, i can see "enqueue to foobar or play into foobar, depending of your configuration.

I saw no other issue for the moment,
have a nice day.

ailef.
Title: Windows 8 RTM - foobar 1.1.13 - shell integration
Post by: Kohlrabi on 2012-08-09 00:39:23
So far there is no official support for Windows 8, so it cannot be guaranteed that everything will work in 8 like in 7. Nevertheless I assume that Peter will address any known problems with Windows 8 in time for its release, so, thanks for the report.
Title: Windows 8 RTM - foobar 1.1.13 - shell integration
Post by: kode54 on 2012-08-09 05:57:45
Windows 8 does not allow programs to associate themselves manually. They will register that they handle a particular file type just like they would with Windows 7, only instead of associating by default or providing a dialog to associate any or all with the program, it will instead allow the user to select the next time they open any of the supported file types. Or at least, that's the way the Consumer Preview was.
Title: Windows 8 RTM - foobar 1.1.13 - shell integration
Post by: amors on 2012-08-12 11:42:08
In Win8 Consumer Preview and Release Preview it works OK, link to manage file type associations doesn't work in Win8 RTM.
Title: Windows 8 RTM - foobar 1.1.13 - shell integration
Post by: kode54 on 2012-08-13 01:56:14
Known issue. That dialog doesn't exist in Windows 8. Programs register themselves as supporting particular file types, and then the next time you attempt to open one of those file types from the shell, it will ask you which registered program to use to open the file.
Title: Windows 8 RTM - foobar 1.1.13 - shell integration
Post by: Peter on 2012-08-18 08:20:15
Windows 8 seems to have changed shell integration semantics. This will be looked into before the next foobar2000 update (1.1.15).
Title: Windows 8 RTM - foobar 1.1.13 - shell integration
Post by: danielkza on 2012-08-19 03:11:13
Known issue. That dialog doesn't exist in Windows 8. Programs register themselves as supporting particular file types, and then the next time you attempt to open one of those file types from the shell, it will ask you which registered program to use to open the file.


Media Player Classic Home Cinema was able to insert itself in the default programs menu successfully for me in Windows 8 RTM, without needing me to open an associated file beforehand, while foobar2000 wasn't able to register itself at all: it's unlisted on both Default Programs and the file-triggered selection dialog. Also, according to MSDN, only the interface for programatically querying or setting if your program's defaults was deprecated, not the ability to show a system dialog allowing the user to do so.

IApplicationAssociationRegistration (http://msdn.microsoft.com/en-us/library/bb776332%28v=vs.85%29): noted as deprecated in Windows 8
IApplicationAssociationRegistrationUI (http://msdn.microsoft.com/en-us/library/bb776329%28v=vs.85%29): no such note
Title: Windows 8 RTM - foobar 1.1.13 - shell integration
Post by: danielkza on 2012-08-19 04:53:26
Since MPC-HC's assocs. work and foobar's don't, I decided to snoop around a bit. All of foobar's registry keys seem OK, they only difference I see is that MPC does not have a context menu handler DLL. So I tried creating the keys manually without it, and foobar still doesn't show up in Default Programs.

Looking at MPC's source code, I see it does still call IApplicationAssociationRegistration.SetAppAsDefault(), which apparently was deprecated by Microsoft (or the MSDN documentation is wrong, which wouldn't be unusual). Does foobar2000 do that as well?
Title: Windows 8 RTM - foobar 1.1.13 - shell integration
Post by: Peter on 2012-08-19 06:14:31
We use IApplicationAssociationRegistrationUI (not deprecated).
It looks like whatever we write to registry is not being correctly read back by the control panel applet, and since there's no page about fb2k to show in the control panel (as our info from the registry is being ignored), our link to the control panel page does not work.
Title: Windows 8 RTM - foobar 1.1.13 - shell integration
Post by: danielkza on 2012-08-19 10:02:37
Apparently replacing the foobar2000 executable with something else makes everything work as expected. I assumed the problem was the lack of digital signature, but MPC-HC is unsigned and works just fine. Don't know that possibly could make Windows outright reject foobar's executable...
Title: Windows 8 RTM - foobar 1.1.13 - shell integration
Post by: Peter on 2012-08-19 13:28:21
Apparently the problem is related to missing "company name" field in the version resource (thanks to Case for figuring this out). I say this is a bug in Windows 8, but the next fb2k update will solve this.