Что касается первой проблемы (получение Chrome для регистрации вашего приложения с помощью настраиваемого протокола), основанной на моей недавней работе, связанной с активными внешними URL-адресами настраиваемого протокола, то это то, что Chrome до сих пор не очень хорошо обрабатывает.
Ошибка здесь (https://bugs.chromium.org/p/chromium/issues/detail?id=560809) связана с запуском этих протоколов из омнибокса или из командной строки, но я также думаю, что это применимо, когда ссылка активируется через JavaScript (window.location или создание iframe с этим src).
Из того, что я могу сказать, это все еще нерешенная проблема.
Теперь - во второй части (где Windows говорит, что не знает, как обращаться с протоколом, и предлагает App Store). Вы должны зарегистрировать свой протокол в Windows через реестр. Это так же просто, как добавление специально отформатированного ключа в HKEY_CURRENT_USER\Software\Classes, как описано здесь: https://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx
Примечание. Если вы будете следовать инструкциям на этой странице, вы будете регистрировать обработчик протокола для всех пользователей этого компьютера, и приложению, выполняющему регистрацию, потребуется повышение прав (Admin). Если вы используете HKEY_CURRENT_USER\Software\Classes вместо HKEY_CLASSES_ROOT, ваша регистрация все равно будет отображаться в HKEY_CLASSES_ROOT, но для ее создания не потребуется администратор, но она будет работать только для текущего пользователя. Так что - выбери свой яд на этом.
HKEY_CLASSES_ROOT - это вид, состоящий из всех \Software \Classes из HLEY_CURRENT_USER в сочетании с HKEY_LOCAL_MACHINE. Я верю, но не подтвердил, что HKCU переопределяет HKLM, но если вы попытаетесь создать ключ непосредственно в HKEY_CLASSES_ROOT, он попытается записать его в HKLM, предоставляя вам доступ, в котором вам отказано, если у вас нет прав.
Надеюсь, это поможет. Удачи.