Error:

Retrieving the COM class factory for component with CLSID {11C67C12-105A-4F42-A5C8-CB9070F2855A} failed due to the following error: 80040154

Subject

Error : Retrieving the COM class factory for component with CLSID {11C67C12-105A-4F42-A5C8-CB9070F2855A} failed due to the following error: 80040154

Applies to

VBUC

Inquiry Description

Sometimes the VBUC installer presents a problem when executed that causes a component not to be registered correctly (sometimes Windows Updates break the registered component and it needs to be re-registered).

This error is displayed when trying to perform an upgrade, since the following message is displayed in the VBUC log file.

Error : Retrieving the COM class factory for component with CLSID {11C67C12-105A-4F42-A5C8-CB9070F2855A} failed due to the following error: 80040154.

Troubleshooting/solution

This can be solved easily by performing the following steps:
  1. Close the VBUC
  2. Open a command line as an administrator
  3. Go to the folder where you installed the VBUC, i.e. c:\program files (x86)\Mobilize Visual Basic Upgrade Companion\
  4. Execute the following: vbu /regserver
  5. Execute: VBU.exe
  6. Execute: taskkill /IM "VBU.exe" /F
  7. Now run the VBUC normally

If you get an error like: "The system cannot execute the specified program", then you need to install the following C++ runtime and go to step 4 again:
http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en 


If the previous steps did not resolve the issue, try the following.

1) Create a batch file, e.g., register.bat, with the following code.

@echo off
for /F "delims==" %%i in ('dir *.dll /s/b') do call :reg "%%i"
if exist VBU.exe (
echo Registering VBU.exe ...
VBU.exe /regserver
)
echo Done.
goto :eof

:reg %*
echo Registering %1 ...
regsvr32 /s %1
regasm %1 /silent
goto :eof

2) Place this batch file in the Mobilize program directory, e.g., C:\Program Files (x86)\Mobilize Visual Basic Upgrade Companion\.
3) Open a command prompt with administrator rights.
4) Change the directory of the command window to the one where the batch was just placed.
5) Run the batch file from within the command window.

You’ll notice that it’s doing a recursive loop through all of the binaries in the folder registering each one with both regsvr32 and regasm calls. This will cause errors as many are not registerable components, many are not .NET components and many are not COM components. No matter, these ignore errors can be ignored. Once that script has completed, try running the VBUC again.

Talk To An Engineer