У меня похожая проблема (аналогичная описанной в этом комментарии activex в winform ) с Visual Studio 2010 и приложением MFC (вместо Winform).
У меня есть файл my.ocx, и я правильно зарегистрировал его с помощью regsvr32, но получаю «Самостоятельная регистрация для my.ocx не удалась».
Эта ссылка http://www.codeproject.com/Questions/262206/ActiveX-Problem-Unspecified-Error дает мне соответствующую информацию. Я цитирую это:
Привет! Я провел несколько исследований, касающихся регистрации элемента управления ActiveX.
библиотека в этой области, и я обнаружил, что если я разрабатываю ActiveX
управление для 64-битной операционной системы Syatem и 64-битной Aplication Тогда в этом
В этом случае мы должны зарегистрировать этот элемент управления ActiveX для 64-битных и 32-битных
операционная система 64-битный элемент управления ActiveX в папке System32 для 64-битных
Операционная система 32-битный элемент управления ActiveX в папке SysWOW64 для 64-битных
операционная система,
Для этого мы должны сгенерировать обе версии элемента управления ActiveX в MFC x64 и обе версии Win32.
Thankx
Я посмотрел в реестре ключ HKEY_CLASSES_ROOT\TypeLib\{myocx_typelib_id}\1.0\0\
и нашел два ключа win64
и win32
. win64
указывал на правильный ocx-файл, а win32
указывал на неправильный ocx-файл (в моем случае typelib встроен в ocx-файл). Я исправил реестр и решил проблему «Самостоятельная регистрация для my.ocx не удалась». В моем случае у меня есть два разных файла my.ocx, первый для win32, а второй для win64.