搜索 | 用户支持

防范以用户支持为名的诈骗。我们绝对不会要求您拨打电话或发送短信,及提供任何个人信息。请使用“举报滥用”选项报告涉及违规的行为。

详细了解

Default external protocol handler not listed as alternative

  • 1 个回答
  • 2 人有此问题
  • 1 次查看
  • 最后回复者为 mjakobss

more options

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
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

由mjakobss于修改

被采纳的解决方案

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.

定位到答案原位置 👍 0

所有回复 (1)

more options

选择的解决方案

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.