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 elements, 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 you as an end user have a working environment and nonworking environment with the same OS version and similar configuration, self-service troubleshooting can be done. In order to troubleshoot these issues, below information needs to be collected:

  1. The list of DLL that gets loaded in the nonworking environment
  2. The list of DLL that gets 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 environment, and compare the list of DLLs to see if there is 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 may also be 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

  • Regards to Microsoft dlls, create an elevated command prompt and run below command:
    • regsvr32.exe xxx.dll
  • If the missing component is UiPath component, the dll is likely placed in %useprofile%\.nuget\packages or C:\Program Files (x86)\UiPath\Studio, please confirm it is there. If the Windows version, UiPath version is exactly the same, you can copy the content from working machine to the nonworking machine's corresponding directory, and this should solve the issue. If C:\Program Files (x86)\UiPath\Studio is missing a lot of files, please consider re-installing Robot/Studio.

Known issues: