How to run attended Bot without Orchestrator?

robot

#1

Hi All,
I have a doubt regarding running the attended bot without Orchestrator. Here I have developed bot on my machine. Studio License is installed on my machine. Attended bot license is installed on a different machine. The bot which I have developed on my machine should run on the different machine(Attended bot license installed machine). I had bit knowledge on that but not completely. Can anyone explain me completely? Thanks in advance.


#2
  • Attended - operates on the same workstation as a human, to help the user accomplish daily tasks. It is usually triggered by user events. You cannot start a process from Orchestrator on this type of Robots, and they cannot run under a locked screen. They can be started only from the Robot tray or from the Command Prompt. Attended Robots should only run under human supervision.

references:


When you are working in studio, you can publish the project you have made. When publishing set it to custom. Save it somewhere of your choice. You will get a .nupkg file

Now copy this file to your robot machine in the following directory:
%Programdata%\UiPath\Packages

Now when you open your robot (taskbar) you will the package appear and you can start it from there

The other way is to start the package from the command prompt

Just let me know if you got more questions or if it works for you.


#3

Thanks jvanmarion for your precious time. I will check it and update you If I go wrong.


#4

Hi, i made an example of what you can do. How to publish the package. And how to run it on the robot machine.

Example:
Method 1: from the robot tray

  1. create a project in uipath studio
  2. publish the project to a directory of choice
  3. copy the .nupkg package to the robot machine in the default package directory
    ( in my case thats in C:\ProgramData\UiPath\Packages\ ). please check your path
  4. after this you should see the project in your robot (tray). You might have to update the package.
  5. when hovering over the package there will be a play button. press it to start the processs
  • Notes: when updating the process (step1 to 3) you might have to update the package. You dont have to worry about version numbers though. The robot will take care of that for you.

Method 2: command line .nupkg package
run the package from the command line. You could also create a .bat file for it which you can start from your desktop
in my case im running 2018.4.2. You have to find the directory where the Uirobot.exe is located

command prompt
cd C:\Users\jvanmarion\AppData\Local\UiPath\app-18.4.2
UiRobot.exe -file "C:\ProgramData\UiPath\Packages\SQLConnect.1.0.6949.41289.nupkg"

  • downside. Everytime you update your process in studio and publish it, and copy it to the robot machine, make sure you run the correct version of the package in your bat file or command

method 3: commandline xaml file
i wouldn;t use this one, because a user can look into the xaml file, but it works.

  1. save the project in uipath studio.
  2. copy the xaml file to a location of choice
  3. copy the xaml file to the robot machine. You don’t have to actually paste the xaml file in the package directory. You can choose the location yourself.
  4. run the project from commandline (the same way as the nupkg package).

command prompt
cd C:\Users\jvanmarion\AppData\Local\UiPath\app-18.4.2
UiRobot.exe -file "D:\SQLconnect\Main.xml"

Recap:
i would go for the nupkg package, because in that way you know exactly which version is running on the robot


#5

Hi Vicky,

As of 2018.2, workflows started with this command only work if you had published the containing project at least once beforehand and if the associated project.json file is inside the project folder.**
Examples:
UiRobot -file "C:\UiPath\Project\Main.xaml"
UiRobot -file "C:\UiPath\Project\Main.xaml" -input "{'inArg' : 'value'}" --rdp
UiRobot -file "C:\UiPath\Project\project.json"
UiRobot -file "C:\UiPath\Package\Notepad.1.0.6682.21636.nupkg"
Note: Attended Robots should only run under human supervision.

You can get more details here:

Regards,
Tuhin


#6

Thanks jvanmarion for the three methods. It means a lot to me.


#7

Thanks Tuhin for your valuable time and answers.


#8

Hi jvanmarion, I had a small doubt. I have developed bot on my machine and in config file I had saved all the essential credentials, URL’s which belong to test environment. If I deploy that bot in attended bot license machine which is installed on other machine. Where do I need to change the essential information in config file like credentials, URL’s?


#9

I’m exactly sure what you mean. Are you using a separate config file? So, when starting your project it requires a config file?

if yes, then its quite easy. Publish your project. and just change the config file on the unattended robot with the right values in the config file

Example:

dev machine (

  • D:\process\config.json

unattended robot

  • D:\process\config.json

Does this answer your question or do you mean something else?


#10

Oh! When we publish the package we are able to access the config file in attended bot machine too. That’s what you are telling right. If I am able to access the config file in attended bot machine then I will change the values on that machine. Thanks buddy for the help.


#11

Hi @Vicky17

When you publish the package, the entire content of the root folder is packaged with it. This means that your config Excel file (if it is an Excel) will be packed together with the rest of your project.

The solution of @jvanmarion is based on the fact that you would place the exact same config file someone in the same spot on both machines and then load it from that path.

I would suggest you to actually choose the third option, which is to store credential in the Windows Credential Manager instead :slight_smile: You can fetch your password using Get Password activity from the Credentials package.