Этот сайт имеет ограниченную функциональность, пока мы проводим техническое обслуживание для улучшения его работы. Если какая-либо статья не решила вашу проблему и вы хотите задать вопрос, наше сообщество поддержки ждёт вас: @FirefoxSupport в Твиттере и /r/firefox на Reddit.

Поиск в Поддержке

Избегайте мошенников, выдающих себя за службу поддержки. Мы никогда не попросим вас позвонить, отправить текстовое сообщение или поделиться личной информацией. Сообщайте о подозрительной активности, используя функцию «Пожаловаться».

Подробнее

Default external protocol handler not listed as alternative

  • 1 ответ
  • 2 имеют эту проблему
  • 50 просмотров
  • Последний ответ от 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.