I want to create Library that would be used across many processes, but I am struggling with global updating.
It seems I don’t quite understand how ‘Lowest applicable version’ of package works. I publish process to Orchestrator with saved custom activity from my library in version 1.0.1 and ‘lowest applicable’ option selected.
Then I do some edits to the library, publish it’s version 1.0.2 (not changing ins, outs nor name). Then I delete version 1.0.1 from Orchestrator, so there is only 1.0.2 of the library, forcing the process to work with 1.0.2.
I switched ‘source of packages’ to all possible combinations of ‘Local’, ‘Orchestrator’ and ‘Official’. Maybe I just don’t understand the whole ‘Lowest applicable version’
This explains how version conflicts are resolved. This is really nuget stuff, not specific to UiPath.
But the “Lowest Applicable Version” thing does the opposite of what it sounds like it’ll do. Say you have this dependency that has some sub-dependencies inside it…
Some Activities Package v2
Sub Activities Package v3 (set to Lowest Applicable Version)
Then you try to add this package to your project:
Another Activities Package v1
Sub Activities Package v4
What will happen is Sub Activities Package v3 from the first dependency will move up to v4, because v4 is the lowest applicable version of Sub Activities Package.
It’ll tell you in Studio if you mouse over the dependency. It’ll say something like “requested v3, resolved to v4.”
This only happens for dependency conflicts, not missing packages which is what you caused by deleting the version specified in your project.
It sounds like you’re trying to find a way to upgrade the dependencies without having to open the project, update dependencies, then re-publish. Except you can’t. You must open the project, update the dependencies, then re-publish.
Any thoughts on how to get it working, what would you approach be for this, starting with the project and then all dependencies on strict and then the library the same adding the library afterwards?
The dependencies in libraries we always put on lowest applicable version. If you make them strict, you’ll have problems with conflicts in the projects you add the library into.
Issue got resolved, I have made a direct connection between Acceptance Orchestrator and the Robot. It is now able to fetch the packages from the orchestrator and it runs fine.