Skip to content

WIP: End of the protocol saga

Short

Fixes protocol registration for tgit://, github-windows://, x-github-client:// shemes. Removed git:// protocol as it never was supported in code.

History

About a year ago there were complaints (from the github desktop team) that tortoisegit installer was rewriting keys belonging to some schemes. True enough, after investigation, it's clear that SmartGit, TorgottoiseGit and Desktop are all fighting for the following key.

[HKCR\<protocolname>\shell\open\command]
@="command to start protocol handler"

Since Win8, it is possible to associate a ProgId to a protocol in a similar fashion that file extensions are associated with ProgIds. Proper registration to spads ensures the user has the final say as to which scheme starts which program (and that tortoisegit is available in the list).

Win8 - x64

2019_05_12_21_58_15_IE11_Win81_Snapshot_1_Running_Oracle_VM_VirtualBox

Win7 - x86

2019_05_12_21_29_47_IE11_Win7_Snapshot_1_Running_Oracle_VM_VirtualBox

Notes

There are lots of completely inactive lines in the wix file... i'm referring to self-closing registrykey tags. This patch shows proper use for that type of tag. You'll see that a section of the installer now targets Win7 exclusively. This is because Windows7 has a bug that requires HKCR<protocolname>\shell\open\command to be set for the protocol to work. There is no workaround for platforms < 6.2.
Github (the website) does not send the proper html/links to people running windows7 (tested on chrome/firefox/ie). Nothing to be sone about it, the protocol registers correctly, it's the github website that is in error.

Merge request reports