尝试运行我的应用程序时收到未注册COM类的错误

时间:2019-10-05 14:53:01

标签: c# mind-manager

使用者:
赢7x64;
Visual Studio 2019;
MindManager 2019-MM 19.1.198(32-x。)10.01.2019;

问题:
我的代码在行上抛出未注册COM类的错误:
 mm.Topic topic = new mm.Topic ();。我得到一个错误。 错误:

  

由于以下错误,未能为具有CLSID {169B91A2-8B3F-4C13-8FD6-81D4C2F76F3D}的组件获取COM类工厂:未注册该类(HRESULT的异常:0x80040154(REGDB_E_CLASSNOTREG))。 >

代码:

using mm = Mindjet.MindManager.Interop;

mm.Application app;
mm.Document docActiv;
public Form1()
{
    InitializeComponent();

    app = new mm.Application();
}

public void SetXMLProperty(string xmlContent)
{
    docActiv = app.ActiveDocument;

    mm.Topic topic = new mm.Topic();

    topic.Xml = xmlContent;

    docActiv.FloatingTopics.Insert(topic);
}

问题。
我需要为Topic类注册什么图书馆?


Update-1

根据评论pstrjds-引用:

>我发现了这种可能的解决方法`在64位环境https://techtalk.gfi.com/32bit-object-64bit-environment/

中使用32位COM对象

我按照指示执行操作:
1.我定义了COM对象的GUID。
请参见 Picture-1
2.我在寻找对象:
HKey_Classes_Root\Wow6432Node\CLSID\[GUID]
3.结果。
我在文件夹HKey_Classes_Root\Wow6432Node\CLSID\[GUID]中没有对象{1E1D4AF9-6640-49C1-A33B-8CE8B47C9785}。
对象{1E1D4AF9-6640-49C1-A33B-8CE8B47C9785}位于下面的文件夹中。 (如果需要,我可以附上这些文件夹内容的图片)


HKEY_CLASSES_ROOT
 HKEY_CLASSES_ROOT \ TypeLib {1E1D4AF9-6640-49C1-A33B-8CE8B47C9785}
 HKEY_CLASSES_ROOT \ Wow6432Node \ TypeLib {1E1D4AF9-6640-49C1-A33B-8CE8B47C9785}

HKEY_LOCAL_MACHINE
 HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ TypeLib {1E1D4AF9-6640-49C1-A33B-8CE8B47C9785}
 HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ Wow6432Node \ TypeLib {1E1D4AF9-6640-49C1-A33B-8CE8B47C9785}
 HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Classes \ TypeLib {1E1D4AF9-6640-49C1-A33B-8CE8B47C9785}
 HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Classes \ Wow6432Node \ TypeLib {1E1D4AF9-6640-49C1-A33B-8CE8B47C9785}

Question.Update-1
1.我需要在哪个文件夹中按照说明进行操作?

图片1
Picture-1


更新2。

我正在尝试更改解决方案平台。

图片1 enter image description here

图片2 enter image description here

对于x86
之后-2秒错误。
第36行。mm.Topic topic = new mm.Topic ();
Failed to get COM class factory for component with CLSID {169B91A2-8B3F-4C13-8FD6-81D4C2F76F3D}
 due to the following error: 80040154 The class is not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).


对于x64
之后-25秒。错误。
第32行。app = new mm.Application ();
 Failed to get COM class factory for component with CLSID {CE786F70-B064-4766-B24D-E6D942936D50} ​​due to the following error: 80080005 Error while executing server application (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).

笔记。
对于X86,需要具有CLSID {169B91A2-8B3F-4C13-8FD6-81D4C2F76F3D}的组件;
对于x64,具有CLSID {CE786F70-B064-4766-B24D-E6D942936D50}的组件。

0 个答案:

没有答案