Reputation: 51
I am getting this error:
Retrieving the COM class factory for component with CLSID {6C9E80E3-B780-4361-A693-5E5C6BDC83A9} failed due to the following error: 80040154.
Dim smgrGlobal As QBSessionManager
smgrGlobal = New QBSessionManagerClass()
The 2nd line is the one that errors.
I get this error only with QB2013 and QBFC12. This does not happen with any previous versions.
I as far as I can find, this error is due to an application not being compiled for x86 (if "Any CPU" was used instead.) However I have set my application to compile for x86 NOT "Any CPU" and I am still receiving this error.
Upvotes: 5
Views: 3698
Reputation: 33
If changing to X86 doesn't work try this: I'm using Version 13, may work for other versions too Install QBFC13_0Installer.exe Make sure you install the SDK first On my system it's under: C:\Program Files(x86)\Intuit\IDN\QBSDK13.0\tools\installers
I have two identical Surface Pro 3s with Windows 10. Using an identical copy of the code on one system compiled and ran just fine. On the other I'd get the dreaded class error. After much searching and not finding a solution I started just taking stabs in the dark and this particular stab fixed the problem.
Upvotes: 1
Reputation: 799
I have a similar problem with QB POS 2013.
I am getting this error when run application with admin credentials - when I am run application under current user all is ok. The reason of this error can be an issue in QBFC installer (or merge module) - both installers are write COM component class id in registry branch of current user (HKCU) instead on local machine branch (HKLM). So, when you run your app not under current user (admin or other user) application can not find COM component ID.
Also, regular QB XML (Interop.QBPOSXMLRPLIB) installed correctly and successfully run under all users.
Please see similar discussion here - How can A COM component be registered halfway?.
Upvotes: 0
Reputation: 13077
COM error 0x80040154 literally means "class not registered". The "class" being referred to is the COM class for the component that you're trying to instantiate. Here are the reasons you might get this error:
Upvotes: 6