You can try making sure the handler is registered properly with a utility like ShellExView... but I've been getting the same problem on my system lately and they appear to be properly installed. It's a tough thing to address... that error is thrown on the very first step after getting the CLSID (CoCreateInstance); it's just that one call. Maybe adjust the CLSCTX_ flags? Are there any alternatives to CoCreateInstance that could be tried (I'm not sure in this situation since the CLSIDs aren't constants, though if you wanted to lock it into your system you could try adding a coclass to a TLB and creating it with New.