Google Calendar Sync: error -2146959355

Ez megint egy tanulságos hibakeresés volt. A Google Calendar Sync programot használom most a naptáraim szinkronizálására. A Windows 8 telepítés után azonban az eddig tökéletesen működő alkalmazásban a Google fiókot fel lehetett venni, azonban a szinkronizáció egy ideig gondolkodott, majd a következő hibaüzenetet adta:

Could not connect to Microsoft Outlook: error -2146959355

Ezt meg mi lelte? A -2146959355 értéke hexadecimálisban FFFFFFFF80080005, erre a hibaüzenetre rákeresve pedig a CO_E_SERVER_EXEC_FAILURE hibakódot kapjuk. Ez még túl sokat nem segített.

Hasonló problémák

A Calendar Sync programhoz meglepően sok fórum és blogbejegyzést találni, amik különböző hibákról számolnak be. Jó párat végignéztem, de az én gondomat nem oldották meg:

  • Google Calendar Sync error 2147221164: ez egy másik hibakód (80040154 –> Class not registered), de itt is elég sok tanács van mindenféle szinkronizációs hibára.
  • Unable to sync with Outlook; error -2147319779: itt azt javasolták, hogy töröljük az Office 15 által felrakott registry kulcsokat, de nekem ez sem segített.
  • johanneswerner86  / mySync: ezt javasolták alternatív programként, de én jobb szerettem volna a Google programját újra működésre bírni.
  • Volt egy olyan ötlet is, hogy az Outlook Add-Ins menüjében aktiváljuk kézzel a Calendar Sync bővítményét, de a változatosság kedvéért ez sem segített.

A hiba vizsgálata

Nem maradt más hátra, részletesebben meg kellett nézni a kapott hibát. Szerencsére volt egy kapcsolódó bejegyzés az eseménynaplóban:

Log Name: System
Source: Microsoft-Windows-DistributedCOM
Event ID: 10010
Description:
The server {0006F03A-0000-0000-C000-000000000046} did not register with DCOM within the required timeout.

Jaj. Nem szeretem a COM/DCOM hibákat:) A DCOM konzolt elindítva meg is lett a hivatkozott alkalmazás:

“{0006F03A-0000-0000-C000-000000000046} is Microsoft Outlook Command Button Control”

Mondjuk logikus, a Calendar Sync alkalmazásnak valahogy el kell érni az Outlookot, annak pedig egy COM-os felülete van, azon keresztül lehet bővítményeket írni hozzá.

A Calendar Sync egyébként ezekből a fájlokból áll:

Az exe maga a szinkronizációt végző alkalmazás, a két DLL pedig egy-egy 32 és 64 bites Outlook bővítmény (Add-In). Gyanús volt, hogy azzal van a gond, hogy 64 bites Office van fent a gépemen, bár elvileg a Calendar Sync azt is támogatja (bár ezt nem volt egyszerű megtalálni): Google Calendar Sync upgrades Outlook 2010 support.

Hogy ellenőrzünk ilyen DLL-betöltési problémát? Hát persze, hogy indul egyből a Process Monitor🙂 Ez a lényeges rész:

16:48:56-kor indult a szinkronizáció, elég sok registry kulcshoz hozzáfért, majd 16:48:57-kor elindult két új szál, sokáig semmi, majd 16:49:28-kor kezdi megjeleníteni a hibaüzenetet.

Az új szál által végrehajtott feladatok segíthetnek esetleg, a veremtartalom mutatja ezt. Ebből az érdekesebb rész ez volt:

"40","combase.dll","ObjectStublessClient22 + 0x22a6","0x767b5ba6","C:\Windows\SysWOW64\combase.dll"
"41","combase.dll","CoCreateInstance + 0x169","0x767ac9c2","C:\Windows\SysWOW64\combase.dll"
"42","GoogleCalendarSync.exe","GoogleCalendarSync.exe + 0x16f24","0x416f24","C:\Program Files (x86)\Google\Google Calendar Sync\GoogleCalendarSync.exe"

A SysWOW64 könyvtárban a C:\Windows\system32 könyvtárban lévő DLL-ek 32 bites változatai vannak 64 bites Windowson (igen, kicsit furcsa, hogy a system32 könyvtárban vannak a 64 bites DLL-ek, de ezt így valósították meg: File System Redirector). A GoogleCalendartSync.exe egy 32 bites program, ezért a 32 bites combase.dll-t tölti be neki az OS. Szépen el is indul a COM kérés. Ezeket a kulcsokat kezdi el matatni:

"HKCR\Wow6432Node\CLSID\{0006F03A-0000-0000-C000-000000000046}"
"HKCR\Wow6432Node\CLSID\{0006F03A-0000-0000-C000-000000000046}\(Default)"
"HKCR\Wow6432Node\CLSID\{0006F03A-0000-0000-C000-000000000046}\InprocHandler"
"HKCR\Wow6432Node\CLSID\{0006F03A-0000-0000-C000-000000000046}\InprocHandler32"

A DCOM konzolon elvileg erre a komponensre jók voltak a biztonsági beállítások (Local Launch, Local Activation), de ekkor jutott eszembe, hogy a 32 bites változatokra külön beállítások vonatkoznak. Ehhez az mmc.exe konzolt 32 bites módban kell elindítani:

mmc comexp.msc /32

Itt már a Local Launch jog ki volt szürkítve, de gondolom azért, mert ez egy 64 bites komponens.

Jó lenne, ha a Calendar Sync is mondana, valamit, hogy mi a baja. Elvileg egy level.txt fájlt kell elhelyezni a C:\Users\username\AppData\Local\Google\Google Calendar Sync\logs könyvtárba, és akkor részletes üzeneteket is rögzít (forrás: Diagnosing Google Calendar Sync Issues). Nekem ez se segített, ide csak a szinkronizáció tartalmáról rögzít adatokat, magáról a program működéséről nem.

Megoldás

Hát nem igazi megoldás, de már kezdett túl sok idő elmenni ezzel, úgyhogy leszedtem és újratelepítettem a Calendar Sync programot. Ez nem szokott segíteni általában, most azonban pont igen. Ugyanúgy beállítva a szinkronizációt ment elsőre minden:( Egyszerűbb lett volna ezzel kezdeni;) A DCOM beállításokkal lehetett valami gond, bár most egy sikeres ProcMon műveletsort összehasonlítva a hibással nem láttam feltűnő különbséget:

Néha a leggyorsabb megoldás sajnos az újratelepítés:(

(Summary: this error is related to some DCOM configuration error, probably because of using the 64 bit version of Office. I was not able to pinpoint the root cause, but a reinstall of Google Calendar Sync helped in my case.)

Advertisements
Kategória: Tech
Címke:
Közvetlen link a könyvjelzőhöz.

Egy hozzászólás a(z) 0ejegyzéshez

  1. Lukács Norbert szerint:

    Én az úgynevezett EVO Collaborator for EVO-t használom. Mivel 2014 augusztusa óta nem ingyenes a Google apps sync-je, ezért kipróbáltam ezt és működik.
    Ha érdekel, a blogomban a különféle szinkronizációs lehetőségekről írok.

    http://gmailszinkronizalas.blog.hu/2015/01/22/gmail_nevjegyek_es_naptar_szinkronizalasa_az_outlookkal

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s