Silverlight SDK Controls vs. Lync 2013

If you face the following symptoms:

  • you have Lync 2013 client running on the desktop
  • you have a web application with Microsoft Silverlight SDK controls embedded in it
  • the controls are in enabled state but theirs GUI do not reflect the user’s current state in Lync (see MyStatusArea below) and the controls do not work as expected
  • and no such an issue if Lync 2010 client running on the desktop instead of Lync 2013

then most probably you do not know or forgot about the new registry entries introduced by Microsoft for Lync 2013.

mystatusarea.png

Previous Lync releases required web pages with Lync Silverlight controls to be added to Internet Explorer Trusted Sites Zone. This could have been done either using Internet Explorer GUI (Tools > Internet options > Security > Trusted sites) or directly entering associated entries into Windows registry

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains

This is not the case anymore. Lync 2013 does not use Trusted Sites Zone entries. Instead you need to specify new Lync specific registry entries. If you have a web page with Silverlight controls and it has the URL http://contoso.com/MyApp/page.html then you need to have the following registry entry:

[HKEY_CURRENT_USER\Software\Microsoft\Office\Lync\Security\Trusted Sites\contoso.com] "http"=dword:00000001

Otherwise, Silverlight control will be loaded successfully but will not communicate with Lync 2013 client as expected. You need to set "https"=dword:00000001 if your web application is published through https. Or you can set both the http and https registry entries.

This change is a little bit painful for those ones who have a web application with Silverlight controls embedded and they want the application to be accessible from not AD domain joined devices as well. Since no group policy can be applied to set registry entries in this case and as I know there is no way to set these entries through Lync in-band provisioning users need to turn to regedit (if they have local administrator permission to do that) …