Com .NET 4.0, escrever extensões gerenciadas confiáveis para Internet Explorer se tornou possível. Ao contrário das versões anteriores, cada extensão vai rodar com o CLR para o qual foi compilado ao invés de negligentemente escolher a versão mais recente.
No passado escrever extensões gerenciadas para Internet Explorer era considerado um tabu. Enquanto tecnicamente você podia fazer isso, os processos só podiam carregar uma versão de .NET por vez. Isso significa que uma determinada extensão poderia ter comportamento inesperado causado por um novo CLR ou até falhar ao carregar se um CLR mais antigo já estivesse rodando. Com .NET 4.0, "tipos COM Visible são garantidos para funcionar com o CLR com o qual foram compilados."
Kevin Jones começou uma série sobre como escrever extensões gerenciadas para Internet Explorer. Ele inicia explicando como registrar o componente em IObjectWithSite e então pegar os objetos IWebBrowser2 e DWebBrowserEvents2_Event. Como o modelo de extensões do IE ainda é inteiramente baseado em COM, você terá que trabalhar com configurações de registro e interfaces estranhas.