Delen via


C++ Outlook Add-in: Form Region is not working after Outlook 2013 upgrade from Outlook 2010

Couple of days earlier, I worked with a developer who created a C++ Form Region add-in for Outlook 2010 and it worked for them years without any problem. Recently one of their customers upgraded from Outlook 2010 to Outlook 2013. After that started noticing that the Outlook failed to load the add-in. During the analysis, we confirmed that there is no update in code base or we failed to see any issues with their Form region add-in and the worst part is the issue can be repro only at this specific environment. Enabling checkpoints at their code helped us to point out that whenever the add-in is trying to load Form Region interfaces it’s not pointing to Office 2013 interfaces, strangely it points to older Office 2010’s interfaces; By putting debugging pointers, we saw that their add-in tries to do and fails internally by telling..."This operation failed because the QueryInterface call on the COM component for the interface with IID '{00063001-0000-0000-C000-000000000046}' failed due to the following error: Library unregistered. (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)).”

SysInternal’s Procmon also pointed the same. We found that their add-in is failing to load the entry, which points to older Outlook 2010.  On checking registry editor at the machine, we saw few older registry entries left over of earlier Outlook versions somehow – that was odd. In this scenario, fresh install of the Office suite or repairing the Outlook is the recommended way to move ahead to avoid these type of installation related issues.

Note: Later we heard that they done the backup of this entry, deleted it and now the Outlook form-region addin loads the correct TypeLib and their add-in is working ‘fine’ for them.