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
- Use the DOM Explorer in Internet Explorer (press F12 to open it).
The first step is to uninstall any previous Silverlight Runtime you may have and install Silverlight Developer Runtime version 5.1.50907.0 which you can find here:
Silverlight automation only works with the Developer Runtime version installed.
To automate windowless Silverlight applications you need to activate the UiPath Silverlight extension. The simplest way to install the bridge extension is by selecting Setup Extensions > Silverlight, in the Studio Setup ribbon tab.
You can also install the Silverlight extension by using a command prompt opened with administrator rights, and running one of the following commands:
C:\Program Files (x86)\UiPath Studio\v8\UiPath\SetupExtensions.exe /silverlight
C:\Program Files (x86)\UiPath Studio\v8\UiPath\slinject.exe /install- This command displays more info in the console.
C:\Program Files (x86)\UiPath Studio\v8\UiPath\slinject.exe /uninstall- This command uninstalls the Silverlight extension. This also removes any extension entries in the Control Panel Add/Remove Programs section.
Note that in all cases administrator rights are required. If UAC is disabled
SetupExtensions.exe might fail silently (at least in older versions of Studio).
Windows auto-update can silently update the Silverlight runtime. It is recommended to clear the Enable Microsoft Update option in the last step of the Silverlight installer wizard or configure Silverlight updates using:
C:\Program Files (x86)\Microsoft Silverlight\5.1.50907.0\Silverlight.Configuration.exe
If you’re having problems automating with the Silverlight extension it is recommended to try the following:
- 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
- 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:
- The Settings > Apps & features window;
- The Details tab of the Silverlight installer file Properties.
- Go to the registry key
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Deskover\UiPathand 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.
- Check if the
slinject.exe /installcommand 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:
- 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.
- If any of the previous steps did not pass automatically when installing the extension, you can try to complete them manually.
- 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_LOGGINGenvironment 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.
You have to set the environment variable before performing any UI automation. Make sure to restart UiPath and the Silverlight target application.