См. http://msdn.microsoft.com/en-us/library/aa767916(VS.85).aspx для асинхронных подключаемых протоколов.
В настоящее время у нас это работает, но для этого требуется, чтобы мы писали в HKey_Class_Root. Чтобы попытаться разрешить установку без прав администратора, было бы неплохо, если бы мы могли добиться того же, записав в HKey_Current_User. Простое изменение расположения реестра не работает, и мне интересно, возможно ли это