Register protocol: Difference between revisions

From MozillaZine Knowledge Base
Jump to navigationJump to search
m (Wikipedia definition of "protocol" moved to Intro as hyperlink)
m (→‎Windows: non-working link corrected)
Line 19: Line 19:
Replacing ''foo'' with the protocol you're specifying and ''C:\\Program Files\\Application\\program.exe'' with the program you want to run. Note that backslashes must be doubled and the additional slashes and quotes before the path must not be removed. Save the file, then double-click it to insert into the Windows registry.
Replacing ''foo'' with the protocol you're specifying and ''C:\\Program Files\\Application\\program.exe'' with the program you want to run. Note that backslashes must be doubled and the additional slashes and quotes before the path must not be removed. Save the file, then double-click it to insert into the Windows registry.


See [http://msdn.microsoft.com/workshop/networking/pluggable/overview/appendix_a.asp Registering an Application to a URL Protocol] for additional information.
See [http://msdn2.microsoft.com/en-us/library/aa767914.aspx Registering an Application to a URL Protocol] for additional information.


==Linux and Mac==
==Linux and Mac==

Revision as of 19:04, 29 April 2007

A protocol is a method that is used to send, receive, and handle information over a connection. Common protocols viewed from the browser include http, ftp, and mailto. In order for you to view information sent over a specific protocol, it must be registered. Once registered, the protocol can then be handled by the program you specify, such as your browser or a 3rd party viewer. This means that a hyperlink ( e.g. foo://fred ) can use the handler for protocol foo to open the file named fred. If a protocol is not registered, you will receive the message "protocol (foo) isn't associated with any program".

Windows

On Windows, registration is done by the OS. To change the OS's settings, create a .reg file, and place this in the file:

REGEDIT4

[HKEY_CLASSES_ROOT\foo]
@="URL:foo Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\foo\shell]

[HKEY_CLASSES_ROOT\foo\shell\open]

[HKEY_CLASSES_ROOT\foo\shell\open\command]
@="\"C:\\Program Files\\Application\\program.exe\" \"%1\"" 

Replacing foo with the protocol you're specifying and C:\\Program Files\\Application\\program.exe with the program you want to run. Note that backslashes must be doubled and the additional slashes and quotes before the path must not be removed. Save the file, then double-click it to insert into the Windows registry.

See Registering an Application to a URL Protocol for additional information.

Linux and Mac

  • Type about:config into the address bar and press Enter.
  • Right-click -> New -> Boolean -> Name: network.protocol-handler.external.foo -> Value -> true (Replacing foo with the protocol you're specifying)
  • Right-click -> New -> String -> Name: network.protocol-handler.app.foo -> Value -> /path/to/app (Replacing foo with the protocol you're specifying and /path/to/app with the path to the application you want to run.
  • Ensure network.protocol-handler.expose-all is set to true.

Troubleshooting

  • If the path or name is incorrect, the browser will display an error saying "protocol (foo) isn't associated with any program". (See bug 312953).

See also