Data Collection: Using Process Explorer to troubleshoot file dependency issues for UI Explorer

How do I as an end user troubleshoot UI Explorer issues?

Preface

In order to spy/inject data into different applications, UI Explorer uses multiple Dynamic-link libraries (or DLL), both proprietary and belonging to the OS.

Missing proprietary DLLs, unregistered system DLLs or lack of access due to system restrictions can cause multiple issues with some of the symptoms below:

  • UI Explorer fails to launch.
  • In UI Explorer, selectors cannot be retrieved for some or all elements.
  • CLSID Registry errors when trying to inspect elements in specific applications, or execute workflows using selectors in those applications.
  • Executing a workflow on a specific machine after a Windows Update throws unable to find selector errors.

If there are both a working environment and a nonworking environment with the same OS version and similar configuration, self-service troubleshooting can be done. To troubleshoot these issues, below pieces of information need to be collected:

  1. The list of DLLs that get loaded in the nonworking environment.
  2. The list of DLLs that get loaded in the working environment.

The missing/unregistered DLLs along with the file path where the UI Explorer tries to locate them will be visible in Process Explorer.

How to collect Process Explorer logs

  • Download Process Explorer https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer.
  • Use the same bit version as the OS (procexp.exe for 32bit, procexp64.exe - for 64bit OS).
  • From the menu select View → Lower Pane View → DLLs.
  • From the menu select Options → Difference Highlight Duration → Set the value to 9 (max) and click OK.
  • Start UI Explorer from UiPath Studio.
  • Click on the UiExplorer.exe displayed in Process list in Process Explorer and you will see the list of DLLs that UI Explorer has loaded.
1.jpg
  • Use UI Explorer and click on the "Indicate element" button and try to indicate the object with selector issues
  • In the DLL process explorer view new DLLs will appear and they may disappear very fast. By the change we made previously on Difference Highlight Duration, the number of seconds the DLLs are displayed is extended to the maximum duration (9 seconds)
2.jpg
  • Before the new DLLs disappear, press Ctrl + A and save the content in a file. At the bottom half of the saved file, you will see the list of DLLs loaded by UI Explorer.
  • Repeat the operation for both working and nonworking environments, and compare the list of DLLs to see if there are any differences in the loaded DLLs. Using a list diff tool like http://www.listdiff.com/ would make the process easier.

Note: When troubleshooting it is ideal to capture the UI Explorer verbose logs in DebugView. Please search the document explaining how to gather the logs available in our documentation.

How to register the DLLs that are not loaded

  • Microsoft DLLs: If Microsoft DLLs are missing. create an elevated command prompt and run the below command:
    • regsvr32.exe xxx.dll
  • UiPath DLLs: If UiPath DLLs are missing, the DLL is likely placed in:
    • %useprofile%\.nuget\packages or
    • C:\Program Files\UiPath\Studio for machine-level install
    • %LocalAppData%\Programs for user-level installs.
    • If the Windows version and UiPath version are exactly the same for the working and non working machines, you can copy the content from the working machine to the nonworking machine's corresponding directory, and this should solve the issue.
    • If C:\Program Files\UiPath\Studio or %LocalAppData%\Programs(installation directory) is missing a lot of files, please consider re-installing Robot/Studio.

Known issues:

Selectors missing in Windows Server after Windows Updates Studio - Repairing Active Accessibility support (uipath.com)