UiPath Studio Guide

Silverlight Applications

Silverlight browser applications can be opened only in Internet Explorer because all the other major browsers discontinued NPAPI - an API used by the Silverlight browser plugin. There are also standalone Silverlight applications that can be used outside of the browser.

Silverlight applications are embedded in web pages using the <object> HTML tag which can specify a windowless parameter. If the Silverlight target app has the parameter windowless=false (which is the default) then there is no need to activate the UiPath extension for Silverlight because Active Accessibility and UIA are already available. This also applies to out-of-browser Silverlight applications.

You can check the windowless parameter using the UiExplorer tool as follows:

  • Search for the <param name=”windowless” /> tag under the corresponding <object /> element.
  • Use the DOM Explorer in Internet Explorer (press F12 to open it).

Note:

Silverlight automation only works with the Developer Runtime version installed.

If you’re having problems automating with the Silverlight extension it is recommended to try the following:

  1. Make sure you have Silverlight Developer Runtime and not the regular non-developer version. You have the developer runtime if one of the following files are present:
    • C:\Program Files (x86)\Microsoft Silverlight\5.1.50907.0\agcore.debug.dll
    • C:\Program Files (x86)\Microsoft Silverlight\5.1.50907.0\dbgshim.dll
  2. Check the Silverlight runtime version. The version needs to be 5.1.50907.0 and you can find it at the following locations:
    • The Window Registry Editor:
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Silverlight - 64bit;
    • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Silverlight - 32bit;
    • The Settings > Apps & features window;
    • The Details tab of the Silverlight installer file Properties.
  3. Go to the registry key HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Deskover\UiPath and look for the SLInstalled value, which is used by UiPath to keep track of the installation. If the value is 0, then the Silverlight extension is disabled.
  4. Check if the slinject.exe /install command created the required config file: C:\Program Files (x86)\Microsoft Silverlight\5.1.50907.0\System.Windows.ini. It needs to contain the following settings: GenerateTrackingInfo=1 and AllowOptimize=0
  5. At least one instance of the sllauncher.exe /overwrite /emulate:"SLBroker.xap" /origin:"https://www.uipath.com/SLBroker.xap" process needs to exist at Silverlight apps automation startups. You can find the process using the Process Explorer tool.
  6. If any of the previous steps did not pass automatically when installing the extension, you can try to complete them manually.
  7. Collect traces while trying to select controls inside the Java app as explained on this link. For regular ETL traces you can also set the UIPATH_SLHOOK_CONSOLE_LOGGING environment variable to 1 or true (case insensitive). This enables log messages and other debugging info in the browser console window (F12 to open). These messages are generated by the target Silverlight application and they are logged only in the browser console because of technical and performance limitations.

Note:

You have to set the environment variable before performing any UI automation. Make sure to restart UiPath and the Silverlight target application.