Error when deploying robot - no Orchestrator - dependencies issue

Hello everyone, I’m having an issue deploying my robots to other users using the deploy function on the UiPath Studio (i.e. creating a .nupkg file and sharing it).
From what I can gather looking into this error, it seems to be an issue with how the dependencies are handled. This has taken me into Nuget world and I’m not sure if that’s the correct way to look for the solution, specially because it seems that for some projects UiPath handles the dependencies correctly and it’s only giving me error for some of the robots.

UiPath Robot 2019.10.1 (No Orchestrator).
Attended desktop robots.
Same machine, multiple users.

Issue:
When deploying a robot using the package created on Studio, the users can see the robot name on the tray icon to execute it. The robot deploys to the standar “%programdata%\UiPath\Packages” location.
The robot uses user defined packages that where defined and configured on Studio in development stage.
First, the user clicks install or update for the newly deployed robot. The Robot appears to finish the install process succesfully.
When the User clicks execute, the robots starts installing before the first run.
After a while, Robot fails with error message:
An error appeared while executing XXXXXX
Error message: Cannot create unknown type ‘{http://schemas.microsoft.com/netfx/2009/xaml/activities}Variable({http://schemas.uipath.com/workflow/activities}Window)’.
RemoteException wrapping System.Xaml.XamlObjectWriterException: Cannot create unknown type ‘{http://schemas.microsoft.com/netfx/2009/xaml/activities}Variable({http://schemas.uipath.com/workflow/activities}Window)’.

When checking in the user’s profile folder (%userprofile%.nuget\packages) it appears as if the installation process didn’t install/download all dependencies defined for the newly deployed robot.
Some robots deploy, install and execute correctly without this error or additional activities.

Scenario.
The user who develops the robot is different from the user who executes it.
The user that executes the robot doesn’t have access to the project file to open it and manage dependencies from UiPath Studio.

Temporary solution.
Copy all packages from a user’s profile that can execute the robot to the user’s profile with the error.

I would really appreciate some information on:
How to troubleshoot this issue?
How to identify why sometimes the install/update process installs dependencies and other times it doesn’t?
How and where to check logs that can give me some information on the install/update process?
How to guarantee correct nuget configuration?
How to configure UiPath Robot to look for packages on a specific path during install/update?

** Edit **
To clarify what I mean by update/install when I deploy the robot:
image
image
This step finishes correctly. Then when the user starts the robot:
image

And this is where most of the robots fail.

1 Like

@juadagu

Can you check if the versions of the studio & Assistant is same across the environment?

Thanks

yes, I can confirm the versions are the same.
image
image
image

@juadagu

Check below post for your reference

Hope this will help you

Thanks

Thanks for the answer Srini. This option is not a solution because not all packages described on the dependencies file of the project are located in .nupkg format on that path on the machine. This has worked for some of the packages, but not all. That’s why I had to copy the packages from the installation path of a different user.

So I’ve found a temporary solution based on the Nuget configuration and functionality.
Solution:

  1. Create a local repository with all the nupkg files needed for the robot dependencies. This was done by copying all nupkg files from the profile of the user that developed the robot.
  2. Modify the nuget configuration file to add the local repository. The file is usually located on %programfiles(x86)%\UiPath\Studio\NuGet.Config
    In the packageSources section add the following line replacing “Name” with any name for the repository (that’s not already on the file) and “Path” with the local path for the nupkg files:
<add key="Name" value="Path" />
  1. Restart the robot service

After this all users have succesfully installed and executed the deployed robots.

In order for the solution to work on new robots, we have to copy the dependencies to the local repository in the deployment process.

David