Это в основном зависит от того, что делает ваш элемент управления ActiveX, как вы встраиваете его в страницу и как он реализован.
Простейшим подходом, вероятно, было бы реализовать его как серверный EXE, зарегистрировать его соответствующим образом, а затем дать исполняемому файлу разрешения на запуск на носителе в политике Low Rights Elevation Policy .
Если вы не хотите заходить так далеко, вы можете написать простой пользовательский внепроцессный сервер, который вы снова регистрируете и реализуете свой собственный IClassFactory для прокси-запросов на создание в существующей DLL. Вы даже можете добавить ключ AppID для существующего объекта и указать, что это DllSurrogate , хотя (кроме регистрации его в качестве приложения COM +) вы не сможете легко принудительно создать объект в суррогате ( потому что по умолчанию в IE указывается CLSCTX_ALL при создании объектов, которые вначале получат регистрацию в процессе).
Конечно, в конце концов, если ваш код делает слишком много предположений о том, где он находится, или использует какие-либо непроксифицированные интерфейсы, он все равно может не работать.