How does GitHub launch its GitHub Desktop application directly from the browser?
It works even when using Google Chrome. I thought that this was impossible outside of Internet Explorer.
Super User is a question and answer site for computer enthusiasts and power users. It only takes a minute to sign up.Sign up to join this community
Lets assume you register a custom protocl following the guide Registering an Application to a URI Scheme
Using a simple reg file that looks like the following you would register a custom protocol named
mytest: that starts
C:\temp\test.bat when its called.
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\mytest] @="URL:mytest Protocol" "URL Protocol"="" [HKEY_CLASSES_ROOT\mytest\shell] [HKEY_CLASSES_ROOT\mytest\shell\open] [HKEY_CLASSES_ROOT\mytest\shell\open\command] @="\"C:\\temp\\test.bat\" \"%1\""
Using the following content for
test.bat you would get a cmd window that displays the argument and stays open:
echo %1% pause
This works straight on your cmd, IE and Firefox. Chrome and Opera would give you a warning that you're about to start an application. This information is also available in this question: Custom protocol handler in chrome
If you look further into it you will find that the github application registers a github-windows protocol using that way. So it's likely that there IS a way available to make it work with chrome. Sadly, right now, I can't dig further into it as the Application doesn't want to react on any browser.
[Program Setup] Add the subkey to your application "SupportedProtocols" HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\
Next add a Str Type with the name of each Protocol you want your program to handle, with no values
[Application Setup] Next add/update your application's entry under HKEY_CLASSES_ROOT\Applications\
*If your application needs to save the URL, do the following: Add a Str Type named "SaveURL"
*If your application needs to use the URL, do the following: Add a DWORD Type named "UseURL" Set it's value to 1
The above should enable support for your application