Retrieving the COM class factory for component with CLSID

Visual Studio 2010

A project of mine that has been stable for years just started reporting this error when I declare an instance of this COM object.  This object is a dependency in my Setup project.

This COM object is a .exe, not a .dll.

My dev machine is Windows7 64 bit and my machine has the same error the user is reporting.

I see many articles about this being an issue where this object is not registered or possibly permissions.  I did use /regserver on this file, but the O.S. really doesn't confirm success or failure.

This is the line of code that generates the error:

Dim Comps_sdk As New JBInterface.JBRequestProcessor

"Retrieving the COM class factory for component with CLSID {0685ACEC-94F4-4828-99FB-DD2AA787E703} failed due to the following error: 800401f9 Error in the DLL (Exception from HRESULT: 0x800401F9 (CO_E_ERRORINDLL))."

I've researched many articles, but they are all .dll file, not compiled .exe files as in my situation.

Please let me know how you would troubleshoot this.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

you may use the regedt32.exe (located in syswow64 folder) to check whether your program successfully has registered. I would assume it is cause the 800401f9 error probably is an issue of other 3rd party libraries like power dvd, ms sql, adodb and others. there is no common solution for all these issues beside of installing the newest service packs and patches if your program uses any of these.

JBM9966Author Commented:
Thanks, I did verify this object existed in the 32 bit registry prior to posting my issue.

It sounds like I need to look at the dependencies of this file.
JBM9966Author Commented:
I checked the dependencies of the interop dll for this COM object and the only items listed were the .Net Framework and the COM .exe object itself.

I've started looking into loading this COM file from the .manifest file instead of the registry but haven't figure out exactly how to do that yet.
Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

as far as I remember you could store the .manifest file together with your executable. if both have same name, it should work.

JBM9966Author Commented:
I ended up creating a new Solution in Visual Studio and porting my code and objects manually into this new project and the error no longer occurs, strange.

Thanks for the ideas..

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
JBM9966Author Commented:
Fixed with my own idea.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
.NET Programming

From novice to tech pro — start learning today.