locked
How to deploy custom Outlook Social Connector Provider RRS feed

  • Question

  • I ha ve developed a simple outlook provider using C# 4.0 and VS 2010 but I am not able to create successfull installation package. I have read a lot of documentation, including links below and I have full filled all of the requirements for installing my custom provider on Win7 64 bit and MS Outlook (64 bit) , but still I am not succeed.

     

    These are the reference articles:

    http://msdn.microsoft.com/en-us/library/ff759430.aspx

    http://msdn.microsoft.com/en-us/library/ff759437.aspx

     

    I am using standart Setup Project and I ha ve add ed some custom actions within the installation process, where I register my provider's assembly and also register my provider under HKCU\Software\Microsoft\Office\Outlook\SocialConnector\SocialProviders . The installation proccess completes successfully but when I start an instance of O utlook, my custom provider does not exist in the providers list. Here is the code I use to register the assembly and write to the registry:

    //I edit the WR here, where I am adding info about my provider

    using (RegistryKey regKey = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Office\Outlook\SocialConnector\SocialProviders\CustomProvider.CustomProvider"))

                        {

                            regKey.SetValue("FriendlyName", CustomProvider );

                            regKey.SetValue("Url", “www.mySocialNetworkTest.com” );

                        }

     

    //Register custom provider assembly

       RegistrationServices regsrv = new RegistrationServices();

                Assembly assembly = Assembly.LoadFrom(file);

     

                if (register)

                {

                    regsrv.RegisterAssembly(assembly, AssemblyRegistrationFlags.SetCodeBase);

                }

    When I am using the manual process described in http://msdn.microsoft.com/en-us/library/ff759452.aspx to run my custom x64 p rovider on Outlook 64 bit within my Visual Studio(In debug mode) everthing is OK. My Provider appear s in the OSC p roviders l ist.

     

    After normal installation my provider is listed in the Windows Registry under:

    HKEY_CLASSES_ROOT\CLSID\

    HKEY_LOCAL_MACHINE\SOFTWARE\CLASSESS\CLSID\

    HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\SocialConnector\SocialProviders

    I am trying to find out why my provider does not appear in Outlook.

    Would you explain the appropriate installation process about custom OSC provider on 64 bit version of Outlook (will be nice if there is an example). It will be great if you could provide me a list with the required key/value pairs situated in Windows Registy, needed for my custom provider to work.

     

    p.s. I am a little bit confused about the role of the networkID   value of my custom provider. Should I generate my custom provider’s networkID   using guidgen.exe   and then to add it in the Windows Registry key - HKCU\Software\Microsoft\Office\Outlook\SocialConnector\SocialProviders   -> LocalProviderList (of course in I have added   the same value in SocialNetworkGuid property of my provider) and should I add the networkId value anywhere else in the Windows Registry?

     

    Thank you in advance

    Thursday, November 18, 2010 2:54 PM

Answers

  • No, you don't need to add an entry under the LocalProviderList - OSC does that after your provider is installed.

    A good troubleshooting step I've used is to use ProcMon (http://live.sysinternals.com/tools/procmon.exe) to see where Outlook is looking (in the registry and on disk) for your assembly. The problem you may run into is that if your installer is run in 32-bit mode, but you're using Outlook x64, then the registration may not turn out exactly right. Use Procmon and watch Outlook start up. You can search for the name of your provider to start at the point where the OSC enumerates the keys under the SocialProviders key and start from there. You should see it get your ProgId then look it up under HKCR and find the CLSID and then look that up and find the assembly name and ensure it has the right version of the runtime loaded and then try to find your assembly on disk and load it.


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. Regards, Patrick Microsoft Online Community Support
    Tuesday, November 23, 2010 12:55 PM

All replies

  • No, you don't need to add an entry under the LocalProviderList - OSC does that after your provider is installed.

    A good troubleshooting step I've used is to use ProcMon (http://live.sysinternals.com/tools/procmon.exe) to see where Outlook is looking (in the registry and on disk) for your assembly. The problem you may run into is that if your installer is run in 32-bit mode, but you're using Outlook x64, then the registration may not turn out exactly right. Use Procmon and watch Outlook start up. You can search for the name of your provider to start at the point where the OSC enumerates the keys under the SocialProviders key and start from there. You should see it get your ProgId then look it up under HKCR and find the CLSID and then look that up and find the assembly name and ensure it has the right version of the runtime loaded and then try to find your assembly on disk and load it.


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. Regards, Patrick Microsoft Online Community Support
    Tuesday, November 23, 2010 12:55 PM
  • Am able install the OSC sample provider and also listed in the provider list but am not able to debug the sample provider to proceed to development. Help me how i need to proceed with sample provider development.

     

    Thanks, Kotresh Kumar

    Wednesday, December 8, 2010 9:31 AM
  • Nothing special is needed to debug - simply attach Visual Studio to the Outlook.exe process and you should be good to go. If you registered the provider with the CodeBase pointed to your bin\Debug folder, then you can change the debug settings for your project to "Start external program" and enter the path to Outlook.exe. That will enable you to use F5 to build and automatically launch Outlook with the debugger attached already.
    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. Regards, Patrick Microsoft Online Community Support
    Wednesday, December 8, 2010 1:32 PM
  • Thanks a lot for your answer! It gave me a really good starting point for troubleshooting the problem and after couple of hours I found the exact problem!

     

    Best Regards!

    Wednesday, December 15, 2010 3:46 PM