Service mode vs User mode

<< Click to Display Table of Contents >>

Navigation:  Several practical recommendations > Running RoboTask as an NT service >

Service mode vs User mode

RoboTask can work in two modes:

As a common application

As 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 decreases

Running 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 access 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 "How to access RoboTask Service". 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. 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 access 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:

1.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.

2.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”.

3.You can log in the SYSTEM session on the desired network resource entirely using the system utility NET.EXE.

The command line is as follows:

 net use \\<ServerName>\<ShareName> <UserPassword> /user:<UserName>

Read more in chapter "How to access the network from the service"

 

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.

 

note Related Topics

Custom variables

Running tasks simultaneously

Task synchronization

Using built-in Basic

Errors processing

Installing and running of system service

Using UNC names

Authentication parameters

RoboTask Service manager

How to get an access RoboTask Service