J'ai un add-in COM Outlook qui implémente un bouton ruban dans Outlook 2010. Cela fonctionne très bien depuis un certain temps. Jusqu'à ce que quelqu'un essaie de charger l'addin dans la version coréenne d'Outlook. Les boutons du ruban apparaissent mais ne font rien quand on clique dessus. Dans le débogueur, je vois le message d'erreur ci-dessous chaque fois que je clique sur le bouton du ruban "ERREUR: Impossible de charger Typelibrary. (HRESULT = 0x8002801d) Vérifiez TypelibID et la version principale spécifiée avec IDispatchImpl, CStockPropImpl, IProvideClassInfoImpl ou IProvideCLassInfo2Impl".Les boutons du ruban d'ajout COM Outlook ne répondent pas dans Korean Outlook 2010
Je n'atteins jamais mon point d'arrêt dans le rappel pour ce bouton, donc quelque chose se passe dans le calque d'événement au-dessus de mon code je pense. Mais je ne sais pas quoi et je ne sais pas pourquoi l'utilisation de la version coréenne d'Outlook devrait faire toute différente. Quelqu'un a des idées?
Je pense qu'il a quelque chose à voir avec la macro LIBID_Office utilisée ci-dessous lors de la définition des interfaces mon principal Addin prend en charge:
, public IDispatchImpl<IRibbonExtensibility,
&__uuidof(IRibbonExtensibility),
&LIBID_Office, /* wMajor = */ 2, /* wMinor = */ 4>
La macro est définie comme
extern "C" const GUID __declspec(selectany) LIBID_Office =
{0x2df8d04c,0x5bfa,0x101b,{0xbd,0xe5,0x00,0xaa,0x00,0x44,0xde,0x52}};
Bizarrement, si j'inscris mon addin avec regsvr32, tout fonctionne bien en coréen. regsvr32 enregistre des choses à HKLM. Mon propre programme d'installation inscrit les classes à HKCU. Mais quand je fais cela, pour une raison quelconque, la bibliothèque de types n'est pas trouvée. ERREUR: Impossible de charger Typelibrary. (HRESULT = 0x8002801d) Vérifiez TypelibID et la version principale spécifiée avec IDispatchImpl, CStockPropImpl, IProvideClassInfoImpl ou IProvideCLassInfo2Impl –