Search code examples
c#winformsexceptioncomzkemkeeper

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


I am trying to run my Windows Application (winForm) on a PC (OS Win7, 64 Bit) but it showing me this error or exception:

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)).

I google and found that I should need to Build for x86 (Althought current window is 64 bit). I did this but getting the same error. After that now I trying to install zkeeper dependency but getting this error:

enter image description here

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

Here is batch file (Dependency SDK installer) :

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

    )

Update: Even I try to run and install manually both regsvr of system32 and 64 and still getting same error.


Solution

  • I don't know what was the problem but maybe it was related to .Net framework. After installing the developer pack of .Net Framework 4.5.2. I deleted my SDK and register all the dependency (DLL) again. Then, it worked.