none
System.Runtime.InteropServices.COMException (0x80040154) RRS feed

  • Question

  • Getting below error when my application invokes an .exe :

    System.Runtime.InteropServices.COMException (0x80040154): Class not registered
       at SWFToImage.SWFToImageObjectClass.Execute()
       at ContentSwfToImage.ContentSwfToImage.ExtractImages()

    My .exe is buit for 32 bit OS and main application is on 64 bit Windows server

    Although when i checked the registry the class is registered at :

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{681EF637-F129-4AE9-94BB-618937E3F6B6}\InprocServer32 

    I want to know what possibly i am doing wrong here?

    My application target build on (Any CPU) and my .exe target build on (X86).

    Saturday, June 25, 2016 1:45 PM

All replies

  • Unless your COM library is Out-Of-Proc COM, 32-bit and 64-bit binaries won't mix.

    You're advised to compile your application as targeting x86 instead.

    Monday, June 27, 2016 1:43 AM
    Answerer
  • I am doing the same on my server(Windows 2012 R2 Standard).

    When i dont register the dll component required by exe i get the following error :

    ---ex in image extraction in image exe--System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {479A1AAC-C148-40BB-9868-A9773DA66AF9} failed due to the following error: 80040154. at ContentSwfToImage.ContentSwfToImage.ExtractImages()

    But when i register the dll using regsvr32 inside system32 then i get the following error :

    ---ex in image extraction in image exe--System.Runtime.InteropServices.COMException (0x80040154): Class not registered at SWFToImage.SWFToImageObjectClass.Execute() at ContentSwfToImage.ContentSwfToImage.ExtractImages()

    The .exe is targeting x86 on server. 

    As you can see the second time its giving Class Not Registered although when i see regedit its there at the path :

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{681EF637-F129-4AE9-94BB-618937E3F6B6}\InprocServer32  


    Monday, June 27, 2016 11:49 AM
  • You should run regsvr32 in SysWOW64 folder to register a 32-bit COM DLL...
    Tuesday, June 28, 2016 12:10 AM
    Answerer
  • Tried that too.

    Still the same error. :(

    Tuesday, June 28, 2016 6:30 AM
  • Hi abhijeet,

    >>"Tried that too.

    Still the same error. :("

    I suggest you copy the .exe file to SysWOW64 folder and try again.

    Best Regards,
    Li Wang


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    Wednesday, June 29, 2016 10:05 AM
    Moderator