Para o primeiro problema (fazer o Chrome registrar seu aplicativo com o protocolo personalizado), com base em meu trabalho recente tentando ativar URLs externos de um protocolo personalizado, isso é algo que o Chrome ainda não controla muito bem.
O erro aqui ( link ) está relacionado ao início desses protocolos da omnibox ou a linha de comando, mas eu também acho que se aplica quando o link é ativado via javascript (window.location ou criando um iframe com esse src).
Pelo que posso dizer, isso ainda é um assunto de destaque.
Agora - Na segunda parte (onde o Windows diz que não sabe como lidar com o protocolo e oferece a App Store). Você tem que registrar seu protocolo com o Windows através do registro. Isso é tão simples quanto adicionar uma chave especialmente formatada no HKEY_CURRENT_USER \ Software \ Classes conforme descrito aqui: link
Observação - se você seguir as instruções nessa página, estará registrando um manipulador de protocolo para todos os usuários da máquina, e o aplicativo que faz o registro precisará de elevação (Admin). Se você usar HKEY_CURRENT_USER \ Software \ Classes em vez de HKEY_CLASSES_ROOT, seu registro ainda será exibido em HKEY_CLASSES_ROOT, mas não exigirá que o administrador crie, mas funcionará apenas para o usuário atual. Então, escolha seu veneno nisso.
HKEY_CLASSES_ROOT é uma espécie de visualização composta de todos os \ Software \ Classes de HLEY_CURRENT_USER combinados com HKEY_LOCAL_MACHINE. Acredito, mas não confirmei que o HKCU substitui o HKLM, mas se você tentar criar uma chave diretamente em HKEY_CLASSES_ROOT, ele tentará escrevê-la no HKLM, dando a você um acesso negado, a menos que você tenha elevação.
Espero que isso ajude. Boa sorte.