I have an Orchestrator that is physically separate from my Studio environment. I have an application that uses a library that is packaged as part of the application. I’m having two issues:
First:
The library fails to initialize when the process is run from the Orchestrator and I don’t understand why that is. Is it because I have to upload the library separately to the Orchestrator (which makes no sense to me if I’ve packaged the main application and the library as a package)?
Second:
So, I decided to upload the library package to the Orchestrator . But I see that the Upload button is missing on the libraries tab. I’ve confirmed that my user has been assigned Administrator role and this role has Create permissions for the library. At least that’s what it looks like from the screen shots below.
Further testing showed that the Process and the custom library work when deployed directly from Studio into the Orchestrator.
But if I deploy the process as a .nupkg and upload it to the standalone orchestrator instance, the library fails to instantiate leading to failure. Error message below:
cannot create unknown type '{clr-namespace:Obfuscator;assembly=Obfuscator}Obfuscate'.
RemoteException wrapping System.Xaml.XamlObjectWriterException: Cannot create unknown type '{clr-namespace:Obfuscator;assembly=Obfuscator}Obfuscate'.
at System.Xaml.XamlObjectWriter.WriteStartObject(XamlType xamlType)
at System.Xaml.XamlWriter.WriteNode(XamlReader reader)
at System.Xaml.XamlServices.Transform(XamlReader xamlReader, XamlWriter xamlWriter, Boolean closeWriter)
at System.Activities.XamlIntegration.FuncFactory`1.Evaluate()
at System.Activities.DynamicActivity.OnInternalCacheMetadata(Boolean createEmptyBindings)
at System.Activities.Activity.InternalCacheMetadata(Boolean createEmptyBindings, IList`1& validationErrors)
at System.Activities.ActivityUtilities.ProcessActivity(ChildActivity childActivity, ChildActivity& nextActivity, Stack`1& activitiesRemaining, ActivityCallStack parentChain, IList`1& validationErrors, ProcessActivityTreeOptions options, ProcessActivityCallback callback)
at System.Activities.ActivityUtilities.ProcessActivityTreeCore(ChildActivity currentActivity, ActivityCallStack parentChain, ProcessActivityTreeOptions options, ProcessActivityCallback callback, IList`1& 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.d__83.MoveNext()
You will need to upload that library to orchestrator or else the robots that will need to execute your main project will always fail, the administrator role will sure have permission to upload that manually, but would be easier to use the Studio for that just like you do for the projects, just you will need the additional permission of Create on Libraries to do so.
I did explore all those possibilities and checked my permissions. As I mentioned in my subsequent post, I was able to deploy the RPA process and its library directly from Studio to the Orchestrator and then have it run without any issues.
But when I package my process and deploy it to a separate orchestrator, it does not work.
I’m unable to upload the library as the Upload button on the Libraries tab is missing.
Packaging only your processes will indeed not work, if the button dont show, the most likely possibility is that the user does not have the permission required and im afraid your print does not show the user name…
The username is the standard username that is created in the orchestrator CE . And that user is already assigned to the Administrator role. This role in turn has full permissions to Library.
But I cannot edit those permissions because it’s created automatically when our orchestrator is set up during signup.
Sorry, I was under the weather for the past few days. I gave this a shot and that did the trick! Thanks @bcorrea!
For the benefit of all, I will post this visual on how to enable this setting.