By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
425,854 Members | 869 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 425,854 IT Pros & Developers. It's quick & easy.

C# Asynchronous Protocol Handler for IE -- not working from embedded browser

P: 2
Hi Folks,

I've got an asynchronous pluggable protocol (APP) handler implemented (based on the excellent work here: that works absolutely perfectly from a normal IE window.

HOWEVER, when accessed from a browser embedded in another application, it doesn't seem to work at all. I can turn on a fair amount of logging and when I access the URL from a normal IE window I see all the logs I would expect to see as the handler is instantiated, etc. NONE of that happens when accessing a custom URL from the embedded browser so something fundamental is clearly going wrong.

Just to prove to myself that a normally registered (in HKCR/PROTOCOLS/handler) but non-standard APP works from the embedded browser, I tried the skype4com APP (skype4com:openzonesettings) from the embedded browser (the embedding application knows nothing about skype) and that works, so it would seem to not be something the embedded browser is preventing -- I conclude that I'm doing something wrong but have no idea how to proceed.

As near as I can tell, my APP is doing all the right things, registering the CLSID in HKCR/PROTOCOLS/qbwc, CLSID and ProgID are properly registered. The only real difference between the skype4com protocol and mine are that the skype4com seems to be implemented in C++ and mine is implemented in C# and therefore works through COM/.NET interop (mscoree.dll) but I would expect that kind of difference to cause a problem for the non-embedded case as well if it's going to cause a problem.

Suggestions gratefully received!
Jun 27 '07 #1
Share this Question
Share on Google+
1 Reply

P: 2
OK. After much wailing and gnashing of teeth I believe I understand what's going on here -- the application embedding IE is hosting the .NET 1.1 CLR, the protocol handler is using .NET 2.0, it won't work. If I back the protocol handler off to .NET 1.1. it works fine.

Truly annoying, but at least we understand the problem now!

Jun 28 '07 #2

Post your reply

Sign in to post your reply or Sign up for a free account.