Default external protocol handler not listed as alternative
In Windows I have registered my own handler for an external protocol in the registry. When I click the link in Firefox or Thunderbird I'm shown the "Launch Application" dialog in which I should choose an application for handling the protocol, but the program I've registered as default handler is not listed as an alternative i.e. the only entry in the list is "Choose an Application"
Observations:
- I'm never shown a message stating that the protocol is unknown, i.e. the registry entry is found
- The links works as expected in IE.
- If I register the application to another of my programs I get an entry in the dialog for some programs, but not for others. I haven't found any difference in the programs that would cause them to be listed or not. Icons are never shown in the dialog, although defined in the protocols registry settings.
- If I put an illegal program path in the registry I get an entry in the dialog!?
- The same problem occurs regardless of the protocol identifier I choose
- Behaviour is the same regardless if the protocol is registered under HKEY_CLASSES_ROOT or HKEY_CURRENT_USER\Software\Classes
- If I change "network.protocol-handler.warn-external-default" in about:config to false my program is successfully launched when clicking the link
- Currently running on Windows 7 Starter Edition, but the same happens on other versions of Windows 7 and Windows Vista 64-bit as well
Diubah
Penyelesaian terpilih
I found the cause for the problem. It was caused by the applications version info in my case. My applications are created with Delphi 2010.
If I create a small test project and don't check the project option "Include version information in project", the application is shown in the dialog (actually the applications path and arguments are shown as defined in the registry).
If I check the project option "Include version information in project" the application is only shown in the dialog list if I put text in the FileDescription field.
In my opinion Firefox should always show the application regardless of the version information supplied. If FileDescription is missing Firefox should fallback to using the ProductName or the applications path.
Baca jawapan ini dalam konteks 👍 0All Replies (1)
Penyelesaian Terpilih
I found the cause for the problem. It was caused by the applications version info in my case. My applications are created with Delphi 2010.
If I create a small test project and don't check the project option "Include version information in project", the application is shown in the dialog (actually the applications path and arguments are shown as defined in the registry).
If I check the project option "Include version information in project" the application is only shown in the dialog list if I put text in the FileDescription field.
In my opinion Firefox should always show the application regardless of the version information supplied. If FileDescription is missing Firefox should fallback to using the ProductName or the applications path.