using activex controls/objects in signed .net assemblies


Try and include the mshtml control in your signed .net app/lib, I dare you. You will get errors about your referenced com interop assemblies not being signed. Fixing that little problem is where the aximp app comes in. It will create signed wrappers for com/activex controls.

All this com/activex stuff really comes in handy when you want to use a winforms control in a webbrowser without involving the iehost (which takes forever and is quite a permissions nightmare). The solution is to have your .net control provide COM interop support. After you've modified your code to properly register the control, you can actually run it in the activex test container. Now its usable in the webbrowser, and it will run as quickly as it would in the main runtime (the alternative would be running like molases in the iehost runtime).

<update> Since we're using the .net control as a COM/activex control, it must be registered like one using regsrv32, though I believe regasm provides the same/similar functionality .</update>

Nota Bene: Using a .net control as through an activex context will bypass all of the security provided by the iehost. Only the system's security contexts will be used, which could lead to "VeryBadThings". (This is my current understanding as of the posting date)