检索具有 CLSID 的组件的 COM class 工厂 - Class 未注册

Retrieving the COM class factory for components with CLSID - Class not registered

我正在尝试 运行 我的 Windows 应用程序 (winForm) 在 PC (OS Win7, 64 位 ) 但它向我显示 这个错误 或异常:

Retrieving the COM class factory for components with CLSID {00853A19-BD51-419B-9269-2DABE57EB61f} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

我 google 发现我应该需要 Build for x86(虽然当前 window 是 64 位)。 我做了这个但是得到了同样的错误。在那之后,现在我尝试安装 zkeeper 依赖项但出现此错误:

The Module D:\TheSDK\zkemkeeper.dll" may not compatible with the version of windows that you are running. Check if the moduel is compatible with an x86 or x64 version of regsvr32.exe

这是批处理文件(Dependency SDK 安装程序):

cd /d %~dp0
if /i "%PROCESSOR_IDENTIFIER:~0,3%"=="X86" (
    echo system is x86
    copy .\*.dll %windir%\system32\
    regsvr32 %windir%\system32\zkemkeeper.dll

    ) else (
        echo system is x64
        copy .\*.dll %windir%\SysWOW64\
        regsvr32 %windir%\SysWOW64\zkemkeeper.dll

    )

更新:即使我尝试 运行 并手动安装 system32 和 64 的 regsvr,但仍然出现相同的错误。

我不知道是什么问题,但可能与 .Net 框架有关。安装后developer pack of .Net Framework 4.5.2。我删除了我的 SDK 并重新注册了所有依赖项 (DLL)。然后,它起作用了。

出现此错误是因为 com dll Zmkeeper.dll 无法注册。在某些情况下,它可能需要与 typeLib 文件一起注册。此外,如果它通过安装程序,可能会执行一些自定义安装程序操作。似乎演示版安装解决了问题。签出这个提到的问题 here