Ваш пример кода представляется манифестом для DLL-библиотеки COM-объектов. У вас тоже есть манифест для основной программы? Ему нужен тот, который перечисляет другой объект как зависимость.
В , отвечая на предыдущий вопрос по этой теме , мой тест был программой на C #, которая использовала старый элемент управления ActiveX, поставляемый с VB5 / VB6. Манифест для моей основной программы выглядел так:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">
<assemblyIdentity
type = "win32"
name = "client"
version = "1.0.0.0" />
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="MSFLXGRD.X"
version="6.1.97.82" />
</dependentAssembly>
</dependency>
</assembly>
Атрибут name в элементе variableAssembly / assemblyIdentity должен совпадать с атрибутом в манифесте для библиотеки DLL COM. Как вы можете видеть здесь, это не обязательно должно быть реальное имя файла.
Другая возможная проблема, которую я вижу, заключается в том, что в манифесте нет элемента comInterfaceExternalProxyStub. Образец этого тега и пошаговое руководство о том, что еще нужно сделать, находится в этой статье на MSDN: Без регистрации активации COM-компонентов: пошаговое руководство . Шаги 6 и 7 говорят о создании двух манифестов.