As you know, RoboTask can work in two modes:As a common applicationAs a system service.Almost everybody knows what a common application is. Many people have an idea about what a system service is. But very often they know only that the service works even if a user has not logged in.
Yes, it is right. A user session is not necessary for a service. It is, undoubtedly, convenient. But it also puts a number of limitations. And it is necessary to remember about this. Let us consider all the pros and cons.
Fundamental differences between modes of the service and application for RoboTask.
Service and application have different sets of tasks.
RoboTask application keeps its tasks in a user profile. Thereby, every user will have their own set of tasks by default. It is convenient, for example, in the mode of a terminal-server, when several users work on one server in the mode RDC (Remote Desktop Connection). Every instance of RoboTask will work independently from others and not interfering with others.
RoboTask service keeps tasks in its folder in Program Files. To make RoboTask perform necessary actions in the service mode, it is not enough to simply install the service. It is necessary to import or create required tasks for the service as well.
Different sets of tasks allow the application and the service to work simultaneously and independently.
Service and application have different environment.
The application inherits the environment of a user session as any other application which the user has run in their session.
The service uses the environment LocalSystem. Despite the fact that you can see both windows application and service on the screen (for example, in Windows 2000 and Windows XP), RoboTask will use different environments in these modes. More details below.
Application mode
After the installing, RoboTask is ready to work in the application mode. By default, RoboTask runs automatically every time when a user opens a user session (log on to Windows).
Advantages
Additional settings are not necessary; RoboTask is ready to work immediately after installing.Easy access to the main window and to the settings of RoboTask.The work of RoboTask in the user session allows to get access to the same resources which are available to the user (for example, network folders and disks, windows of other applications, etc.). This is inheritance of a user session environment.
Disadvantages
In order that RoboTask may begin to work, it is necessary to log on.Logging off the session RoboTask also turns off as all other user applications. No tasks are performed after that.In operation system Vista and further ones, the system UAC (User Access Control) demotes the privileges of the started applications. It is done to increase security against malware and viruses.
Problems connected with the UAC manifest themselves in a possible error “Access Denied” during some operations. In case of starting certain applications with elevating of privileges (for example, by means of the utility RG.EXE from the package RoboTask) you have to confirm running of programs manually.
The problems of the UAC can be solved in two ways:
Turning off the UAC. In this case all the applications in the session will work with user privileges. This mode is possible but not recommended because the security of the system against malware decreasesRunning of RoboTask in the mode “As Administrator”. It is enough to turn on the checkbox “Run as Administrator” in the dialog Settings (menu Options -> Settings). But in this case you will have to confirm running of RoboTask manually when the UAC requests.
System service mode
To install RoboTask service you can use the utility “RoboTask Service Manager” from the package RoboTask. The utility allows to install, delete, start or stop the service. Also the utility allows to specify initial common settings of RoboTask for working in the service mode.
The usage of RoboTask as a system service has unquestionable advantages, but it causes some inconveniences as well.
Advantages
RoboTask service begins the work when the system starts. There is no need to log on. It is enough just to turn on the computer.By default, all the tasks of RoboTask work with system privileges.
Disadvantages
As a rule, the system service works in a hidden mode. In the system Windows Vista and further systems all interactive services work in a separate system session. A user cannot see the main window of RoboTask without additional manipulations. That complicates manual control of RoboTask.By default, services working with the privileges LocalSystem do not have access to network recourses (i.e. the network folders on remote computers)It is necessary to avoid any interactive actions in service tasks: moving a mouse, pressing mouse keys, sending keystrokes or calling any dialogs.The first two items cause some inconvenience, but these problems can be solved. See below how to do it.
The last rule is to be fulfilled for the following reasons:
The system ignores moving the mouse and pressings the keys inside of a locked session. This is done for security of the system. For this reason, the simulation of mouse and keyboard actions will not work if the user session is locked. The user session is locked by default, when screensaver is activated .As a rule, a user does not have a direct access to windows of RoboTask in the system service mode. All the dialog windows require to press OK or Cancel. If the user does not do it, the task comes to a stop and waits for a user action endlessly.
How to get an access to the service in the OS Windows Vista/7/2008/8/2012
Access to the main window of service can be got by means of the system service “Interactive Service Detection”. That is described in the chapter “Peculiarities of RoboTask Service working under OS Vista/ Windows 7/ Windows 2008 Server” in RoboTask documentation. Then it is possible to change settings of RoboTask and service tasks.
The owners of Business License can get the access to the service through a local network. That is described in the chapter “Control of RoboTask through network” and related chapters in the same documentation. The work of a network client of RoboTask is integrated into the main window of RoboTask and must not cause any difficulty.
Initial settings of the service (a number of a port, privileges of access, parameters of authentication, etc.) can be set with the utility “RoboTask Service Manager”.
How to get an access to the network resources in the service mode
By default, the RoboTask service works with privileges LocalSystem and does not have any access to network folders. This problem can be solved in two ways:
Start a service with privileges of any user. It can be done in system settings of the service. In this case the service inherits privileges of the stated user (including the privileges within the local network). But then interactivity of the service will be disabled.
Take notice that the user is to have the permission “Log on as a service”Input correct parameters of the user on the tab Logon Parameters in RoboTask Service Manager. In this case all started tasks by default inherit privileges of the user. The inheritance can be turned off in Task Editor if necessary. See the parameter “Log on Task as User” on the tab “Advanced”.
Summary
Both modes have their own advantages and disadvantages. You can use RoboTask as an application and as a service simultaneously. Thereby, you can fulfill the whole circle of tasks that can be solved by means of RoboTask.
How you will manage the process of automation on your computer or in a local network depends only on your needs.
Service vs Application
Service vs Application
Last edited by Oleg on Wed Jan 16, 2013 7:23 pm, edited 1 time in total.
How to access RoboTak service
As we know Windows Vista/7/2008/8 prohibits the interaction with service applications by default.
How to access RoboTask service in this case?
There are two ways to solve the problem
1-st way. By using "interactive service detection" service
- start RoboTask Service Manager and start "Interactive service detection"
- You will see this message. Press "View the message"
- You can see RoboTask window in the system session. Configure tasks interactively (or import prepared tasks) and press Return Now button on system dialog.
2-nd way. By using network client.
Run RoboTask Service manager, and setup network server for RoboTask Service. Pay attention that port MUST be different from network server settings of application
I recommend you to use the next number - 5501
press "Apply" button to save settings and restart RoboTask service.
You can close close RoboTask service manager and open main window of RoboTask application.
Choose menu Remote->Connect to...
Input necessary parameters and press "Connect"
You can see new Root folder in the task tree: localhost:5501
You can select it and edit remote tasks (also you can import, run interactively and remove tasks)
![Image](http://www.robotask.com/images/forum/14-RemoteTasks.png)
How to access RoboTask service in this case?
There are two ways to solve the problem
1-st way. By using "interactive service detection" service
- start RoboTask Service Manager and start "Interactive service detection"
![Image](http://www.robotask.com/images/forum/01-ServiceMan.png)
- You will see this message. Press "View the message"
![Image](http://www.robotask.com/images/forum/02-ISDMessage.png)
- You can see RoboTask window in the system session. Configure tasks interactively (or import prepared tasks) and press Return Now button on system dialog.
![Image](http://www.robotask.com/images/forum/03-SystemSession.png)
2-nd way. By using network client.
Run RoboTask Service manager, and setup network server for RoboTask Service. Pay attention that port MUST be different from network server settings of application
I recommend you to use the next number - 5501
press "Apply" button to save settings and restart RoboTask service.
![Image](http://www.robotask.com/images/forum/11-ServiceMan.png)
You can close close RoboTask service manager and open main window of RoboTask application.
Choose menu Remote->Connect to...
![Image](http://www.robotask.com/images/forum/12-RoboTaskApp.png)
Input necessary parameters and press "Connect"
![Image](http://www.robotask.com/images/forum/13-ConnectTo.png)
You can see new Root folder in the task tree: localhost:5501
You can select it and edit remote tasks (also you can import, run interactively and remove tasks)
![Image](http://www.robotask.com/images/forum/14-RemoteTasks.png)
Oleg Yershov