We're calling on all EU-based Mozillians with iOS or iPadOS devices to help us monitor Apple’s new browser choice screens. Join the effort to hold Big Tech to account!

為了改善您的使用體驗,本網站正在進行維護,部分功能暫時無法使用。若本站的文件無法解決您的問題,想要向社群發問的話,請到 Twitter 上的 @FirefoxSupport 或 Reddit 上的 /r/firefox 發問,我們的社群成員將很快會回覆您的疑問。

搜尋 Mozilla 技術支援網站

防止技術支援詐騙。我們絕對不會要求您撥打電話或發送簡訊,或是提供個人資訊。請用「回報濫用」功能回報可疑的行為。

了解更多

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.