Running Essential Server as Windows Service

6 min

It is important that the Essential repository server is always running and able to serve requests from its clients, so it should be configured to run as a Service on Windows server platforms. Currently, the Protege software does not include the capability to run as a native Windows service, so we provide a toolkit based on the Apache Commons Daemon.

To use the Essential Server Service:

  • Download and unpack the Essential Service Service. Note: By downloading this file you agree to adhere to our license – GNU GPL v3
  • Select 32-bit or 64-bit runtime
  • Configure the installation paths in the installEssentialServerService.cmd script file.
  • Install the service by running the configured installEssentialServerService.cmd
  • Manage the service to control how it starts
  • Start the service

32-bit or 64-bit

By default, the unpacked Essential Server Service folder contains the prunsrv.exe application for 32-bit Windows. To use this with 64-bit Windows platforms, replace this file with the prunsrv.exe from the correct folder (amd64 / ia64) in the commons-daemon-1 folder as required by your platform.

Deploying the service components

You can locate this package anywhere on your Windows Server. We recommend that you unpack the contents of this ZIP file in a folder located in the folder where you installed the Essential Architecture Manager components, such as the default, baseline repository, e.g. C:EssentialAMService

Installing the service

The installEssentialServerService.cmd script installs the service. Before running this script, you must confirm the installation locations for Protege and this Essential Server Service components.

  • Open the file installEssentialServerService.cmd for editing, e.g. using Notepad.
  • Update the values of the variables, so that they are set to the correct locations:

Save the file and double-click on it to run it and install the service.

Managing the service

To start or stop the service and make other adjustments to how it runs, you can use the management application: EssentialAMServerw.exe. The management application can be used to specify how the service is started, e.g. Manual, Automatic, etc.

You can create a shortcut to EssentialAMServerw.exe and pin it to the Start Menu.

Monitoring the service

Run the script, monitorEssentialAMService.cmd to load the system tray control to monitor and manage the service.

Un-installing the service

If you wish to uninstall the service, run the removeEssentialAMService.cmd script.

Defining Essential AM Server Service Dependencies

Where a database-based repository is used, the Essential Server will not start up correctly if it cannot establish a connection to the database that is now hosting the repository. To help with the automatic startup of the Essential Server, define a dependency between the Essential AM Server service and another service, such as your database server instance (if it is co-located with Essential) or with Tomcat (used for the Essential Viewer):

To create a dependency, use the sc command in a Command Prompt, using the following syntax:

sc config EssentialAMServer depend= [Dependencies separated by ‘/’]

NOTE: There is no space character between depending and the = but there is a space after the =. For example to define a dependency on the MySQL database server:

sc config EssentialAMServer depend= MySQL

Repeat the above command to add additional dependencies, or you can list all of the services on which EssentialAMServer depends by separating them by a /, e.g. to have it depend on both MySQL and ServiceX:

sc config EssentialAMServer depend= MySQL/ServiceX

If you want to remove all dependencies, you can use the following:

sc config EssentialAMServer depend= /

Updated 25 March 2024

Contact Us