I'm trying to create just a simple html link to open a Chrome app when clicking it. Lets use the following example:
I have installed the app found at https://chrome.google.com/webstore/detail/videostream-for-google-ch/cnciopoikihiagdjbjpnocolokfelagl
If I open the app from the Chrome menus, it will open the app in a new browser tab, displaying chrome-extension://cnciopoikihiagdjbjpnocolokfelagl/app.html as the URL in the address field.
So, naively I thought that I could just specify that URL to make it open if the link is clicked, i.e:
<a href="chrome-extension://cnciopoikihiagdjbjpnocolokfelagl/app.html">Link to the installed Chrome App</a>
If you were in control of the app in question, you could use
externally_connectable property and listen for requests to launch your app.
But it seems like you don't control that app. Normal webpage code is unprivileged and cannot call
chrome-extension:// URLs and the like.
You could potentially make a launcher extension. Using the
management API you can launch the app with
and that can, again, be triggered via web-to-extension messaging using
externally_connectable. But that obviously requires that your users have two distinct Chrome add-ons installed, the app in question and your launcher shim.