none
MS Office/Outlook Presence Integration C# COM Server RRS feed

  • Question

  • I want to implement the Outlook Presence integration for Outlook 2010, 2013 and up.

     

    I tried to follow the instructions found in the article "Integrating IM applications with Office" (https://msdn.microsoft.com/en-us/library/office/jj900715.aspx) and implemented the IUCOfficeIntegration Interface in my C# Application. I created an C# Exe that registers the class for COM Interop by basing my code on the official Example How to develop an out-of-process COM component by using Visual C++, Visual C#, or Visual Basic .NET (https://support.microsoft.com/de-de/kb/977996)

    When I run the C# COM Server I am able to instantiate the registered class from another C# Application using the following code:

     Guid clsid = new Guid("394376DD-3BB8-4804-8CCC-9559434004F3");
     Type t = Type.GetTypeFromCLSID(clsid, true);
     object i = Activator.CreateInstance(t);

    When the COM Server does not run I get the Error HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG) as expected.
    I enabled Outlook Presence Logging as described in (https://technet.microsoft.com/en-us/library/ff678502.aspx), started the C# COM Server set up the registry keys but Outlook is not able to instantiate my COM Class even though the C# Test app can do it. The constructor of the interface class is never called as the log statements are not getting executed.

    In the Outlook Log I get the following error line multiple times:

    hr = 80040154, We couldn't identify the provider type we now try to manually CoCreate using the LCClient CLSID
    I checked the registry keys but they are correct. For some yet unknown reason it does not work. The docs say Outlook would use CoCreateInstance with the CLSID to instantiate the class. I also tried to simply use a C# COM Interop DLL instead of the COM Server but I get the same behaviour there.

    If helpful I can provide the whole program source that implements the interface.

    What do I need to do to make outlook able to find and instantiate my class?



    Thursday, November 12, 2015 8:06 AM

All replies

  • Hi Trenki2,
     
    Thank you for posting in the MSDN Forum.
     
    I'm trying to involve some senior engineers into this issue and it will take some time. Your patience will be greatly appreciated.
     
    Sorry for any inconvenience and have a nice day!
     
    Regards & Fei

    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    Sunday, November 15, 2015 1:55 PM
    Moderator
  • Could you get any information regarding this topic?
    Tuesday, December 1, 2015 12:49 PM
  • According to https://msdn.microsoft.com/en-us/library/office/jj900715.aspx it only works with 2013 and up.
    Friday, December 11, 2015 12:09 PM
  • Should work with Office 2010 as well as there is a note in the article stating "A handful of Office 2010 applications can integrate similarly with a third-party IM provider application: Outlook 2010, Word 2010, Excel 2010, PowerPoint 2010, and SharePoint Server 2010 (using an ActiveX control). Many of the steps required for integration with Office 2013 apply to Office 2010 as well."

    But we tried with Office 2013 as well and had the same problem.

    Thursday, December 17, 2015 10:13 AM
  • HI,

    I am also looking the resolution of this problem. 

    Please help.

    Wednesday, January 27, 2016 12:39 PM
  • I'm also facing similar issue on OL 2010, OL2013 and OL 2016.

    In my case IUCOfficeIntegration is invoked by Outlook and appropriate methods are called.

    the issue now is, my IMClient is crashing with COMException when I return the IMClient object from IUCOfficeIntegration::GetInterface (IMclient implements ILyncClient, IClient). 

    I don't see enough documentation  in the msdn, if some one have implemented, please share the knowledge.

    I have implemented IMClient as described in 

    https://msdn.microsoft.com/en-us/library/office/jj900715.aspx 

    and

    https://code.msdn.microsoft.com/windowsapps/CSExeCOMServer-3b1c1054




    • Edited by techpach Thursday, January 28, 2016 8:58 AM
    Thursday, January 28, 2016 8:44 AM
  • Hi Bala,

    Pls try it.

    http://stackoverflow.com/questions/33830124/icontactsandgroupscallback-onlookup

    Regards,

    Krish

    Wednesday, February 3, 2016 1:14 PM
  • hi Krish,

     Thanks for your reply, now the problem I'm facing is

     MyContactManager.lookup is called by outlook, how to inform presence availability back to Outlook :), I called ..CallbackClass.OnLookup(m_ctMgr, searchedContactObject, asynObj) but no response from outlook after that :(


    Balamurali C

    Wednesday, February 3, 2016 2:59 PM
  • HI Krish, 

    Any idea, how do we call back CallbackClass.OnLookup(...) with resultant contact object in IContactManager.lookup() method.

    -Bala


    Balamurali C

    Tuesday, February 9, 2016 10:09 AM
  • Hi Bala,

    I'm still try to do it. Please let me know if you have achieved it & event/notification/alerts from IM app to outlook 2013?

    Regards,

    Krishna 

    Monday, May 9, 2016 1:48 PM
  • Hello Krishna,

    I was not working on it, sure I will update here, if I have found solution

    -Bala


    Balamurali C

    Wednesday, May 18, 2016 7:23 AM