none
Retrieving the COM class factory for component with CLSID {046C184F-2188-4C99-A95A-9C0DCDC19050} failed due to the following error: 80040154. RRS feed

  • Question

  • Hi, 

      I am implementing the remote sync pattern and am getting this exception when my custom remote proxy attempts to call into a WCF service. I have seen a couple posts about this, and in their cases they either had the x64 dlls installed, or were unable to run the installer on the target environment. I have full control over my environment, and have uninstalled all my sync dlls and made sure to reinstall the proper x86 dlls. 

    I have read that an 80040154  error means the dll is not registered, though I have both verified the dll is registered and manually registered the dll myself.

    Any ideas?

    Friday, April 23, 2010 8:41 PM

Answers

  • Answered it myself,

    Yes the issue was happening on the server side when the object was trying to be deserialized, not when serialization happened as I originally thought. I am working around it by spinning up a 32 process that hosts the target WCF service from my 64 bit worker process. 

    • Marked as answer by Anthony Coble Monday, April 26, 2010 7:30 PM
    Monday, April 26, 2010 7:30 PM

All replies

  •  

    Another place to look to look for is in inetmgr (IIS) settings.  ApplicationPool->DefaultAppPool->right click->Advance Setttinggs->Enable 32 bit Application = True.   Incase you have seperate app pool, make the corresponding changes for it. Dont forget to restart the app pool.

     

    Thanks,

    Jandeep


    jandeepc
    Friday, April 23, 2010 9:29 PM
  • Jandeep, 

     

    Thank you for the prompt response, 

      So are you saying that the target service must be running in 32bit as well, just to deserialize the info passed to it? The types I am using that I suspect could suffer from this are SyncKnowledge and IChangeDataRetriever. Can you confirm? I am not using IIS, so I can't adjust the appPool as you suggested. 

     

    Thanks in advance, 

    Anthony Coble

    Monday, April 26, 2010 5:27 PM
  • Answered it myself,

    Yes the issue was happening on the server side when the object was trying to be deserialized, not when serialization happened as I originally thought. I am working around it by spinning up a 32 process that hosts the target WCF service from my 64 bit worker process. 

    • Marked as answer by Anthony Coble Monday, April 26, 2010 7:30 PM
    Monday, April 26, 2010 7:30 PM