title: Sharing the Application URI Scheme Registration on Windows 8
body: <p>I'm writing an application which registers the "tel" protocol on Windows 8 so when I open Start > Run, enter tel:1234 and hit Enter my application gets launched and makes a phone call to 1234. This works successfully on XP, Win7 and Win8. However, on Win8 I have found that when I install Google Chrome it "takes over" the handling of the tel protocol so when I run tel:1234 again Chrome is launched instead of my application. Chrome does not take over the tel protocol in Win7 or XP. I'd like to understand what the issue is. </p>
  
  <p>Currently my application registers the tel protocol by adding the following registry entries as described in <a href="http://msdn.microsoft.com/en-us/library/aa767914%28v=VS.85%29.aspx" rel="nofollow">Registering an Application to a URI Scheme</a> on MSDN:</p>
  
  <pre><code>HKEY_CLASSES_ROOT\tel
  @="URL:My Tel Protocol Handler"
  "URL Protocol"=""
  
  [HKEY_CLASSES_ROOT\tel\DefaultIcon]
  @="C:\\MyTelProtocol.exe"
  
  [HKEY_CLASSES_ROOT\tel\shell]
  
  [HKEY_CLASSES_ROOT\tel\shell\open]
  
  [HKEY_CLASSES_ROOT\tel\shell\open\command]
  @="\"C:\\MyTelProtocol.exe\" -URI %1"
  </code></pre>
  
  <p>I have found that Google Chrome doesn't overwrite my registry data with its own. Instead it appears to register the protocol handler in a different way, but I can't figure out how to do the same. Would anyone have an idea why Windows 8 is handling this differently?</p>
  
  <p>Thanks in advance,
  Matt</p>