Chyba synchronizace "Nelze přetypovat objekt modelu COM typu"

Popis

Synchronizace eWay-CRM® neproběhne. V logu je uvedena tato chyba:

HASH: C476D5BB13FF545630119FA1D81268D8
Synchronization failed
System.InvalidCastException: Nelze přetypovat objekt modelu COM typu Microsoft.Office.Interop.Outlook.ApplicationClass na typ rozhraní Microsoft.Office.Interop.Outlook._Application. Tato operace se nezdařila, protože volání QueryInterface u komponenty modelu COM pro rozhraní s identifikátorem IID {00063001-0000-0000-C000-000000000046} se nezdařilo vzhledem k následující chybě: Chyba při načítání knihovny typů či DLL. (Výjimka na základě hodnoty HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)).
   v Microsoft.Office.Interop.Outlook.ApplicationClass.get_Version()
   v eWay.Core.OutlookAccess.Application..ctor(Application application)
   v eWay.Core.OutlookAccess.Application..ctor()
   v eWay.StandardEdition.Synchronization.SynchronizeThread.SynchronizeAll(IEnumerable`1 folders, Boolean& synchronizationOK, Boolean& newData, DateTime till)
   v eWay.StandardEdition.Synchronization.SynchronizeThread.Synchronize()
--- END TRACE ---

Vyskytnout se může také následující chyba:

HASH: 9A28D348A685DDE9EC282BEE1F817FE3
Synchronization failed
System.InvalidCastException: Unable to cast COM object of type 'Microsoft.Office.Interop.Outlook.ApplicationClass' to interface type 'Microsoft.Office.Interop.Outlook._Application'. 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: Knihovna není zaregistrována. (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)).
   at System.StubHelpers.StubHelpers.GetCOMIPFromRCW(Object objSrc, IntPtr pCPCMD, IntPtr& ppTarget, Boolean& pfNeedsRelease)
   at Microsoft.Office.Interop.Outlook.ApplicationClass.get_Version()
   at eWay.Core.OutlookAccess.Application..ctor(Application application)
   at eWay.Core.OutlookAccess.OutlookApplicationManager.get_Instance()
   at eWay.Core.Synchronization.SynchronizeThread.SynchronizeObjectTypes()
   at eWay.Core.Synchronization.SynchronizeThread.CreateDatabaseStructure()
--- END TRACE ---

Verze

Všechny verze eWay-CRM®

Obtížnost řešení

Vysoká

Postup řešení

Nejedná se o chybu eWay-CRM®, ale o chybu Microsoft Office a dochází k ní v případě:

  1. Měli jste nainstalované Microsoft Office 2010 a pak jste nainstalovali zpět verzi Microsoft Office 2007.
  2. Máte nainstalovány programy balíku Microsoft Office 2007 a samostatně doinstalujete nějakou aplikaci z verze Microsoft Office 2010 (případně naopak).

Varianta 1: Špatný záznam v Registru

Musíte nejprve zkontrolovat, jaké záznamy jsou uvedeny v Registru systému Microsoft Windows. Postupujte podle následujících kroků:

  1. V editoru Registru MS Windows (v nabídce Start dejte vyhledávat regedit) se proklikejte následující cestou: HKEY_CLASSES_ROOT\TypeLib\{00062FFF-0000-0000-C000-000000000046}.
  2. Existuje zde více verzí a zůstala zde větev i pro novější verzi, i když používáte starší verzi Microsoft Office. Je tedy potřeba smazat tu novější.
  3. Novější verzi poznáte podle toho, že u každé položky je vpravo Microsoft Outlook XX.0 Object Library. Vyšší hodnotu, která je zastoupena XX, z registru smažete. V ukázce se jedná o hodnotu 9.6.

Varianta 2: Správný záznam v registru

V případě, že se v registru nachází pouze jeden záznam, nikoli více záznamů, je potřeba vykonat opravu programu Microsoft Office. V případě opravy postupujte podle tohoto článku.