Skip to content

FAQs COM Errors

Paul Woolcock edited this page Mar 15, 2019 · 16 revisions
FAQs > COM Errors

Unfortunately, these normally signify a problem with your local install of Microsoft Office (not OGCS) and often require some level of re-installation or registry fix. :unamused:

Here we've tried to collate some of the common fixes.

Office Repair

For starters, it's never a bad idea to perform an Office Repair and see if that improves things:-

  • Open Control Panel and "Uninstall a Program"
  • Select the "Microsoft Office" program and click "Change"
  • Select "Quick Repair" and click "Repair"
  • Start OGCS

Notes

:information_source: For any registry fixes, the CLSID for Outlook is {0006F03A-0000-0000-C000-000000000046}

:spiral_notepad: If there is no solution below for your particular error code, or the solution provided doesn't work, please

  1. raise an issue and
  2. attach your OGcalsync.log file.

Error Codes

0x80004002 - E_NOINTERFACE
0x80004004 - E-Abort
0x80004023
0x80010100 - RPC_E_SYS_CALL_FAILED
0x8002801D - TYPE_E_LIBNOTREGISTERED
0x80029C4A - TYPE__E__CANTLOADLIBRARY
0x80040154 - REGDB_E_CLASSNOTREG
0x80040155 - Interface not Registered
0x800401F3 - CO_E_CLASSSTRING
0x84120009

0x80004002 - E_NOINTERFACE

No such interface supported

This should be fixed with a simple Office Repair.

0x80004004 - E-Abort

This often relates to Outlook either not being ready to service OGCS connecting to it, or your corporate policies are preventing connection. The error should now be avoidable from v2.6.0, which allows for a delayed startup of OGCS to help with the first issue, or enters a reduced functionality mode to avoid being blocked.

0x80004023

As per Issue 160:

"It is actually an Office installer/uninstaller issue. I used to have Outlook 2010, and then upgraded to 2013. Unfortunately, Office did not uninstall some old registry when it upgraded. One was 64-bit the other was 32-bit. So I had to launch the 32-bit regedit and delete/rename the entry in: HKEY_CLASSES_ROOT\CLSID\{0006F03A-0000-0000-C000-000000000046}

0x80010100 - RPC_E_SYS_CALL_FAILED

If you are in a corporate Exchange environment and have recently changed your network Active Directory account password, check that you have also updated the cached password for your Exchange account in Outlook.

0x8002801D - TYPE_E_LIBNOTREGISTERED

This may happen if you have uninstalled Outlook 2013 and reinstalled an older version, or installed Lync 2013 alongside Outlook 2010. These types of situation require registry fixes. One user reported needing to delete the registry keys and reinstall Office.

0x80029C4A - TYPE__E__CANTLOADLIBRARY

This is likely due to a recent install, upgrade/patch or downgrade of Office. Try rebooting, a repair of Office and if still no luck, the following registry checks.

Search for Invalid Registry Key

If you have upgraded or downgraded the release of Office (eg from 2013 to 2016 and back again), the following is worth checking.

  1. Go to Start > Run > Type regedit and press Enter. It will open the Windows Registry.
  2. Click on HKEY_CLASSES_ROOT and press Ctrl+F to search for the Outlook CLSID: {0006F03A-0000-0000-C000-000000000046}
  3. Find the result for the folder name matching the CLSID, likely HKCR\CLSID\{0006F03A-0000-0000-C000-000000000046}
  4. Expand the folder and click on TypeLib. On the right-hand side you will see a default key entry which will be another CLSID - copy this CLSID for next step (eg {00062FFF-0000-0000-C000-000000000046}.
  5. Now type typelib on your keyboard to navigate to HKEY_CLASSES_ROOT\TypeLib.
  6. Click on the TypeLib folder and then press Ctrl+F and search for the other CLSID key which you copied in step 4.
  7. Once you find the CLSID, expand it you will see one or more folders with a version number, eg 9.5.
  8. Expand each version number folder and all the sub-folders. Click on any Win32 folder you find, and it will display a file path - using Windows Explorer, check that this file path actually exists. If the file does not exist, delete that Win32 folder.

For example, if HKEY_CLASSES_ROOT\TypeLib\{00062FFF-0000-0000-C000-000000000046}\9.5\0\Win32 points to C:\Program Files\Microsoft Office\Office15\MSOUTL.OLB and that file does not exist, delete the registry key Win32 folder.

General Registry Fixes

Finally, if you did not find any invalid registry keys, try each step in the registry fixes section below.

0x80040154 - REGDB_E_CLASSNOTREG

Class not registered. Assuming you do actually have Outlook installed on the machine you are running OGCS from(!), then it would seem Outlook is not registered properly.

  1. Open a cmd window as Administrator (right-click, run-as)
  2. cd c:\windows\Microsoft.NET\Framework\v2.0.50727
  3. regasm <path-to-OGCS>\Microsoft.Office.Interop.Outlook.DLL

0x80040155 - Interface not Registered

This can be a particularly nasty problem. Follow through the steps:
Register Ole32.dll
Make sure part of Microsoft Office (the Ole32.dll file that is located in the %windir%\System32 folder) is registered correctly in the Windows registry:

  1. Click Start, and then type Command Prompt, in appeared list, right-click Command Prompt and select Run as Administrator
  2. In Command Prompt window type the following command and press Enter
    • For 32 bit Windows: regsvr32.exe %windir%\System32\Ole32.dll
    • For 64 bit Windows: %systemroot%\SysWoW64\regsvr32.exe %windir%\SysWoW64\Ole32.dll
  3. In the RegSvr32 dialog box, click OK.

Then follow the 3 steps through below from "Fix the Interface" to "Ensure MSOUTL.LIB is Registered" (the final step usually being the most important).

0x800401F3 - CO_E_CLASSSTRING

Invalid class string

This is usually seen in combination with 0x80004002, so apply the same solution.

0x84120009

Cannot complete the operation. You are not connected.

This was reported to be fixed in Issue #514 with a reinstall of Outlook.

Registry Fixes

Step through the following sections.
:floppy_disk: It is always wise to backup your Windows registry before making any manual changes.

Outlook Version Numbers

Use this table as a reference as guided in the following sections.

Outlook Version
Outlook 2003 9.2
Outlook 2007 9.3
Outlook 2010 9.4
Outlook 2013 9.5
Outlook 2016 9.6

1. Fix the Interface

  1. Access the Windows Registry Editor via Start > Run > Type Cmd and Enter > Type RegEdt32 and Enter.
  2. Navigate to each of the keys that exist (depends on if using the 32 or 64 bit version of Outlook/Windows):
    • HKEY_CLASSES_ROOT\Interface\{00063001-0000-0000-C000-000000000046}\TypeLib
    • HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\Interface\{00063001-0000-0000-C000-000000000046}\TypeLib
    • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Classes\Interface\{00063001-0000-0000-C000-000000000046}\TypeLib
  3. Find a (Default) entry with the value {00062FFF-0000-0000-C000-000000000046}
  4. Compare and correct the Version value against the Outlook version numbers table.

2. Fix the TypeLib

  1. Navigate to HKEY_CLASSES_ROOT\TypeLib\{00062FFF-0000-0000-C000-000000000046}
  2. Delete the version keys (e.g. 9.5) for any version of Outlook that is not installed on your system, based on the version table provided.
    • For example, if you are not using Outlook 2013 then remove the 9.5 entry. If you are not using Outlook 2010 then remove the the 9.4 entry.
    • DO NOT DELETE the entry for the version that was specified in the last step of the previous fix the interface section.

3. Ensure MSOUTL.LIB is Registered

  1. In the previous fix the typelib section, make sure that the registry key value ending with MSOUTL.OLB is pointing to a valid file location. The key location should be something like HKEY_CLASSES_ROOT\TypeLib\{00062FFF-0000-0000-C000-000000000046}\9.6\0\Win64
  2. We now need to make sure that file is properly registered.
    1. Download regtlibv12.exe to your computer
    2. Go the Windows Start Menu and type cmd.
    3. In the search results, right-click cmd.exe and select Run as Administrator...
    4. Change directory to where you downloaded regtlibv12.exe, eg: cd %USERPROFILE%\Downloads
    5. Execute the following command, where <msoutl.olb file> is the value taken from step #3:
      regtlibv12.exe "<msoutl.olb file>".
      For example:
      regtlibv12.exe "C:\Program Files\Microsoft Office\root\Office16\MSOUTL.OLB"
  3. Run OGCS.
You can’t perform that action at this time.