Robot can't find updated Library

Hello, I’ve run in to a problem with a Library that my robot can’t find once it’s been published.

I’ve been using the library for months now in many of my different automations, but something has changed recently (maybe since the 2023.4 update?) that makes it so that any update I publish to the library can’t be used by my robot. The update can be seen and used in Studio, but when I publish the process to run on my unattended robot, I get this error complaining that the new version can’t be found.

When I roll the library back to the previous version in Studio and republish, everything works fine.

While trying to troubleshoot this problem, I downloaded the last known good version of the library (3.0.41), changed nothing about it, and republished it so that the only difference was a new version number, and I still have the same problem.

Thoughts? Suggestions?

Here is the full text of the pictured error box:

  • Process: Top.Shelf.TC.AT.Daily.Maintenance.Dispatcher
  • Process Version: 1.0.32
  • Environment:
  • Robot: jarvis cloud-unattended
  • Account: jarvis cloud
  • Machine name: JARVIS-CLOUD
  • Info: Could not load file or assembly ‘GSuite Interactions_Windows, Version=3.0.42.0, Culture=neutral, PublicKeyToken=null’. The system cannot find the file specified.

System.IO.FileNotFoundException: Could not load file or assembly ‘GSuite Interactions_Windows, Version=3.0.42.0, Culture=neutral, PublicKeyToken=null’. The system cannot find the file specified. at Top_Shelf_TC_AT_Daily_Maintenance_Dispatcher.Main.GetImplementation()
at System.Activities.Activity.OnInternalCacheMetadata(Boolean createEmptyBindings)
at System.Activities.Activity.InternalCacheMetadata(Boolean createEmptyBindings, IList1& validationErrors) at System.Activities.ActivityUtilities.ProcessActivity(ChildActivity childActivity, ChildActivity& nextActivity, Stack1& activitiesRemaining, ActivityCallStack parentChain, IList1& validationErrors, ProcessActivityTreeOptions options, ProcessActivityCallback callback) at System.Activities.ActivityUtilities.ProcessActivityTreeCore(ChildActivity currentActivity, ActivityCallStack parentChain, ProcessActivityTreeOptions options, ProcessActivityCallback callback, IList1& validationErrors)
at System.Activities.ActivityUtilities.CacheRootMetadata(Activity activity, LocationReferenceEnvironment hostEnvironment, ProcessActivityTreeOptions options, ProcessActivityCallback callback, IList`1& validationErrors)
at System.Activities.Hosting.WorkflowInstance.ValidateWorkflow(WorkflowInstanceExtensionManager extensionManager)
at System.Activities.Hosting.WorkflowInstance.RegisterExtensionManager(WorkflowInstanceExtensionManager extensionManager)
at System.Activities.WorkflowApplication.EnsureInitialized()
at System.Activities.WorkflowApplication.Enqueue(InstanceOperation operation, Boolean push)
at System.Activities.WorkflowApplication.SimpleOperationAsyncResult.Run(TimeSpan timeout)
at System.Activities.WorkflowApplication.BeginRun(AsyncCallback callback, Object state)
at UiPath.Executor.RobotRunner.RunWorkflow()

  • Start Time: 4/5/2023, 12:00:04 AM
  • End Time: 4/5/2023, 12:00:05 AM
  • Input Values: null

Output Values: null

  • Has Recording: false

Hi @kevinpscott
you need to update package on robot machine or orcastrator thorugh two ways:
1- Navigate to your orcastrator then Tenant → Packages → upload → Select your updated packages from your develeopment machien and usllay you will find it in (C:\Users${machine user name}.nuget\packages) just select the needed version and upload it.

the second way you can simply copy the version folder from your machine into the target machine that run job in the mentioned location(C:\Users${Robot user name}.nuget\packages)

please try and update us if you still face any issue. :slight_smile:

Hi @mahmoud.zaky, thank you for trying to help! The updated package appears in Orchestrator, that’s not the problem.

For the past 2 years all I needed to do was publish the updated Library from Studio to Orchestrator and then update the package on the process that was using it.

After MUCH trial and error, I have found an inconvenient but working solution.

I noticed that the project.json for the library showed an old version number of studio even though my current version number of Studio is 23.4.0.0.

This must be the version of studio in which the Library was originally created.

When I create a brand new Library from scratch and copy the .xamls from the old Library to the new Library, everything appears to work fine.

This fits with the timeline of the begining of this problem in that it started when version 23.4 of Studio was released.

This should be investigated as a bug, because I know we Community Edition users are effectively beta testers, and this would be a huge problem if it rolled out to the licensed community.

I’d be very happy to share my .nupkg files so the differences can be examined and a solution deployed.

Hi @mahmoud.zaky I went back and re-read your comment and I wanted to give you credit for being right. Even though the package was in fact published to Orchestrator, there was no folder for it on the robot.

Why would the interaction between orchestrator and the robot change in this way? Shouldn’t the robot automatically download the packages it needs from Orchestrator? I only have 1 robot, but what if I had 100? Having to manually do this would be impractical.

The more I think about this, the more I suspect it’s because I’m working with 2023.4 version of Studio which is still “beta”. I tried to install a 2023.4.x package for UiPath.System.Activities and it didn’t propagate down to my robot either.

@kevinpscott

Canyou confirm your robot version please?

The version of robot shpuld be compatible with the studio version…

Cheers

Packages will be stored in Orcastrator machine in the mentioned location and as you said Robot will install it direct from that machine but some times in small scale some users use the same machine for both Orcastrator and robot. or the most easiest way to avoid uploading it is to white list for packages IP URLs on your machine and it will automatic download it.

Note:
Also make sure from Package dependency, Robot Version, Orcastrator Version are all compatible iwth each others.

23.4.0-beta.12701

As I said maybe it has something to do with the fact I’m using Community Edition and I’ve been pushed beta software.

Definitely not using the same machine for robot and orchestrator. I’m using CE cloud orchestrator and a local machine for the robot.

Because I’m using CE, all versions are managed by UiPath, so that shouldn’t be the issue.

It looks like I was right. I gave it a few days and tried again and now that updated 23.4.x package versions have been published to Package Manager, they appear to be downloading from Orchestrator.

So for anyone in the future who runs into a situation like this, remember that if you are using the Community Edition and a new major version has been published (usually in April and October), the problem resolved itself (at least for me) with a little patience. The only thing I was able to do was to continue working off previous major versions of the packages.

In this specific case my case I had to work off of 22.10 packages only (including packages in my libraries) even though there were 23.4.x packages available in Package Manager until there was a new version 23.4.x version published.

Then I added the new 23.4.x version to a test package and ran it just to see if it would work, which it did.

edit:

It looks like this was resolved with the 23.4.1 update.

https://docs.uipath.com/studio/standalone/2023.4/user-guide/release-notes-2023-4-1

Looks like I spoke a little too soon. Some of the UiPath packages are still not being sent down to the robot. I’ll be patient and see if this gets resolved with time. Until then I’ll stick to the 22.10.x packages.

edit:

It looks like this was resolved with the 23.4.1 update.

https://docs.uipath.com/studio/standalone/2023.4/user-guide/release-notes-2023-4-1

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.