Child pages
  • Running the Server As a Service

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

During installation, an extra service directory is created in the ../application_server/ directory. This directory contains, among others, the configuration file for the service, called wrapper.conf.

...

The Service component installation comes with two files to install and uninstall the Service: install_service.[bat/sh] and uninstall_service.[bat/sh] which are also found in the service directory.

Additional Configuration

The configuration of the Java Service Wrapper is done through the file wrapper.conf located in ../application_server/service.

...

By default the Windows Service is configured to be started manuallyautomatically. This can be changed to start manually by setting the wrapper.ntservice.starttype property to AUTOto DEMAND_START.

(warning) Note that the service starts successfully only if the database is already running at that point.

Configuring Windows Service Dependencies

The Java Service Wrapper does NOT start the database, as since in production environments the database could be installed on a different machine or is maintained by a DBA.

If the database is running on the same machine as a Windows Service as well, it is possible to configure a dependency to it in the Java Service Wrapper configuration. The dependency can be set by adding the name of the Windows Service for the database on which the Servoy Application Service depends as a the  wrapper.ntservice.dependency.x property. The 'x' at the end of the property name needs to be a sequential number, starting with 1, for each dependency.

...

The component is licensed by Servoy to be bundled and used in combination with the Servoy Application Server only. It's not allowed to use the component outside the context of the Servoy Application Server.

Running the Windows Service from a Different User

A non-admin user doesn't have permission to start and stop the Servoy Application Server service. In order to have access to do that, they have to be granted permission by the administrator. This section provides information on how to grant permission to a different user to access the Servoy service.

The following steps need to be followed in order to give access to the service:

  1. Login to an administrator account and run a command prompt console. Make sure to run the console as administrator.
  2. Enter the following command in the console:

    Code Block
    C:\>sc sdshow servoyservice

    The output will look something like this:

    Code Block
    D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)

    Copy and paste it into a text editor.

  3. Get the SID (Security IDentifier) of the user accound that needs permission to access the service.
    To obtain it, do the following:
    a) go to Start > regedit and locate this registry path:
      LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
        All the user accounts are displayed under this node, and the key name of each account is the SID.
    b) Click on each key and look on the right panel at the ProfileImagePath to identify the user name of the account.
    c) When the desired user is identified, copy its key name, that is the SID, and paste it in the text editor on a new line.
  4. In the text editor:
    a) copy the (A;;CCLCSWRPWPDTLOCRRC;;;SY) part of the command output, and paste it right before the S:(AU;FA;... part
    b) change that part to look like this: (A;;RPWPCR;;;[SID]) - where [SID] has to be replaced by the actual user account SID
    c) surround the whole resulted line with double quotes, and copy it
  5. In the command prompt, enter the sc sdset command and paste in the copied line. The resulted command will look like this:

    Code Block
    sc sdset servoyservice "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;RPWPCR;;;S-1-5-21-30086777-1921087056-1718559101-1003)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
  6. Run the command. On success, the following output should appear:

    Code Block
    [SC] SetServiceObjectSecurity SUCCESS

After completing these steps, the non-admin user for which these settings have been done will be able to access the Application Server service.