Да, это можно сделать. Вы должны предполагать, что ваше приложение будет развернуто только в Windows XP (или Windows Server 2003) или более поздней версии, и тогда вы можете использовать так называемый COM без регистрации, чтобы это произошло.
По сути, вы создаете файл манифеста для управляющей DLL ActiveX, чтобы загрузчик Windows и COM DLL знали, какая у него регистрация, без необходимости вносить это в реестр.
Краткое описание того, что нужно сделать, находится в этой статье на MSDN:
Активация COM-компонентов без регистрации: пошаговое руководство
«Шаг 6» и «Шаг 7» в этой статье содержат все , что вам нужно.
Я только что попробовал это на одной из моих собственных программ на C #, которая использует элемент управления сеткой Microsoft ActiveX (старая "MS Flex Grid"), и она работает просто отлично. Убедитесь, что вы создали файл манифеста как для своего приложения, так и для COM DLL, и подставили соответствующие GUID в нужных местах. Возможно, вам придется использовать OLEVIEW, чтобы найти правильные идентификаторы для использования из библиотеки ActiveX DLL, если они у вас нет под рукой.