Tech Info 185: HELIOS on Windows with Java JDK instead of JRE

HELIOS Tech Info #185

Mon, 11 Mar 2019

HELIOS on Windows with Java JDK instead of JRE

When installing Java on Windows, you have to choose between the JRE (Java Runtime Environment) and the JDK (Java Development Kit). The JRE is required to run some HELIOS services and tools (WebShare Web Server, PDF Indexer, Office Indexer, HELIOS Admin, WebShare Manager).

The JDK includes a JRE, but it is considered “private” and not announced to the operating system via registry entries and environment variables. If you want to run the HELIOS services and tools, those are required.

The easiest solution is to install an additional “global” JRE to the system. Since the JDK's JRE is private, those will not interfere and the HELIOS services will use the additional JRE that is then known to the operating system.

If you want, however, use the JRE that is included in the JDK. You can do so by creating the appropriate registry entries and environment variables so that the JRE can be found by HELIOS services and programs.

Step 1: Registry entries

To run the WebShare Web Server, a proper registration of the JRE is needed in the Windows registry.

The required registry entries are:

  • HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\JRE\CurrentVersion
    This must be a string representing the Java version,
    e.g. “11.0.2”
  • HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\JRE\11.0.2\JavaHome
    The path to the JDK's installation directory,
    e.g. “C:\Program Files\Java\jdk-11.0.2”
  • HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\JRE\11.0.2\RuntimeLib
    The path to the JDK's main runtime library,
    e.g. “C:\Program Files\Java\jdk-11.0.2\bin\server\jvm.dll”

Make sure to match the version in the “RuntimeLib” and “JavaHome” registry key paths to the version used in “CurrentVersion”.

Instead of creating the registry entries manually, you can use a temporary “Registry entries” file. Create a file with the extension “.reg” (e.g. “jre.reg”) with the following contents:


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\JRE]
"CurrentVersion"="11.0.2"

[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\JRE\11.0.2]
"JavaHome"="C:\\Program Files\\Java\\jdk-11.0.2"
"RuntimeLib"="C:\\Program Files\\Java\\jdk-11.0.2\\bin\\server\\jvm.dll"

 

Replace all occurrences of “11.0.2” from this example with your actual version and change the paths accordingly to match the paths of your JDK installation (make sure to use double “\\” as path separators).

Then double click the file to import the entries to the registry.

Step 2: Environment variables

To run the “pdfindexer” and “officeindexer” tools, proper environment variables are required.

In the “System Properties” setting window, select “Advanced” > “Environment variables”.

(Quick access on Windows 2012+:
Open Start menu, type “environment”, select “Edit the system environment variables”)

In the “System variables” list, create a new variable named “JAVA_HOME” with the value set to the path of your JDK's installation directory, e.g. “C:\Program Files\Java\jdk-11.0.2”.

Also, edit the existing System variable “Path” and add the path to the JDK's “bin” directory, e.g. “C:\Program Files\Java\jdk-11.0.2\bin”.

To verify the changes, open a new command prompt window and type java -version without specifying the full path. It should find the installed JRE and display your Java version details.