Register Windows Application for Tel and Callto Protocols

First of all let me say that we are pretty new with this "windows app" developing process.

Our customers want us to develop an app working as click to call. The app is working just fine, but we are encountering problems with that appearing in the "default apps for protocol" menus for callto and tel protocols.

We are kinda clueless about the steps needed to achieve this goal.

What we tried:

  1. Adding the following to the manifests files.
<Applications>
  <Application Id="App" StartPage="default.html">
    <Extensions>
      <Extension Category="windows.protocol">
        <Protocol Name="alsdk" />
      </Extension>
    </Extensions>
  </Application>
</Applications>
  1. Modifying the registry keys:
[HKEY_CLASSES_ROOT\tel]
@="URL:custom_app"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\tel\shell]

[HKEY_CLASSES_ROOT\tel\shell\open]

[HKEY_CLASSES_ROOT\tel\shell\open\command]
@="<path_to_exe>.app.exe" "%1"  

Any help WILL be appreciated. Thanks in advance.

1 Answer

Solved by registering the app first and then creating all the needed associations.

Windows Registry Editor Version 5.00

;Register The App
[HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications]
"CustomApp"="Software\\Clients\\CustomApp\\Capabilities"

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\CustomApp]
@="CustomApp"

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\CustomApp\Capabilities\StartMenu]
"CustomApp"="CustomApp"

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\CustomApp\Capabilities\UrlAssociations]
"callto"="CustomApp.callto"
"tel"="CustomApp.tel"

[HKEY_CLASSES_ROOT\CustomApp.callto]
@="CustomApp callto Handler"
 
[HKEY_CLASSES_ROOT\CustomApp.callto\shell\open\command]
@="\"<path_to_app>\\CustomApp.exe\" \"%1\""

[HKEY_CLASSES_ROOT\CustomApp.tel]
@="CustomApp tel Handler"
 
[HKEY_CLASSES_ROOT\CustomApp.tel\shell\open\command]
@="\"<path_to_app>\\CustomApp.exe\" \"%1\""

If you have any file associations, you can add them easily doing this:

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\CustomApp\Capabilities\FileAssociations]
".foo"="CustomApp.foo"

[HKEY_CLASSES_ROOT\CustomApp.foo]
@="CustomApp foo Handler"
 
[HKEY_CLASSES_ROOT\CustomApp.foo\shell\open\command]
@="\"<path_to_app>\\CustomApp.exe\" \"%1\""
0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Alexander Ross

Alexander Ross

Gaming, Esports & Interactive Media Writer

Alexander Ross has covered the video game industry for a decade, writing deep dives on game design, esports tournaments, VR developments, and gaming culture.

Share this article
Twitter Facebook Pinterest