Sun Java Solaris Communities My SDN Account Join SDN
 
JRE Notes

Deploying JRE on Windows

        
Japanese
These notes contain information for developers who are deploying the J2SE Runtime Environment (JRE) on Microsoft Windows platforms. For general platform-independent information about the J2SE Runtime Environment, see J2SE Runtime Environment Notes for Developers.

Installation of Application Launchers

The J2SE Runtime Environment for Microsoft Windows platforms is bundled with its own installer program. By default, the installer places a copy of the runtime environment in the C:\Program Files\Java\jre1.5.0 directory. In addition, if no more recent version is already installed on the machine, the installer puts copies of the java and javaw application-launcher executables in the Microsoft Windows system directory. (The system directory varies depending on the Microsoft Windows version, but is usually either C:\winnt\system32 or C:\windows\system.)

The system directory is on the default system path of the operating systems, so users of your software won't need to modify any paths in order for the launchers to be available for your application. You need only provide users with a command line of the form

javaw -classpath <path to classes or jar file> <main class>
or
javaw -jar <jar file>

Registry Settings

NOTE - The J2SE Runtime Environment has two version numbers -- external version number is 5.0 and internal version number 1.5.0.
The installation program for the Microsoft Windows version of the J2SE Runtime Environment uses the registry to record path and version information. The application launcher in the system directory uses the registry settings to obtain the location of the J2SE Runtime Environment they are to use when launching an application.

You can consider using the registry settings in the deployment of your applications in the following ways:

  • If your application has an installation program, you can have that program check the registry to determine which version, if any, of the runtime environment already exists on the platform on which your software is being installed. If an appropriate version of the JRE is not already installed, you can prompt the user to download and install the J2SE Runtime Environment, or your installation program can install a copy of the J2SE Runtime Environment that you redistribute with your application.

  • If you choose to use your own custom application launcher rather than the application launchers that come with the J2SE Runtime Environment, you can nevertheless have your launcher check the runtime environment's registry settings for the location and version of the runtime environment on the local machine.

J2SE Runtime Environment Registry Settings - When installed, the J2SE Runtime Environment creates the following registry key:

HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment

This key contains the following string value which is set to the major.minor version of the installed J2SE Runtime Environment:

Name Default Value
CurrentVersion1.5

Note that CurrentVersion is set only if the version being installed is the highest version number on the machine. For example, if JRE 1.3.1 already exists on a machine on which 1.5.0 is being installed (also called 5.0), then CurrentVersion will be set to 1.5. If 1.5.0 is installed first, and then 1.3.1 is installed, CurrentVersion will remain set to 1.5.

In addition, registry subkeys are created at

HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\1.5
and
HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\1.5.0
These keys contain the following settings information for use by the runtime environment:

NameDefault Value
JavaHome C:\Program Files\Java\jre1.5.0
RuntimeLib C:\Program Files\Java\jre1.5.0\bin\client\jvm.dll
MicroVersion 2

JavaHome is set to the full path name of the directory in which the J2SE Runtime Environment was installed. RuntimeLib contains the full path name of the Java runtime DLL to use. MicroVersion identifies the integer after the second dot in the internal version number of the J2SE Runtime Environment. For version 1.5.0, the value would be 0, for v1.5.1 it is 1, etc.

In addition, keys are created for Java Plug-in and Java Web Start.

Java Plug-in Registry Settings - The following key is created for Java Plug-in:

HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Plugin\1.5.0
This key contains the following values:

NameDefault Value
JavaHome C:\Program Files\Java\jre1.5.0
UseJava2IExplorer 1

UseJava2IExplorer is type REG_DWORD. Its value is 1 if JRE is the default VM for IE, 0 if not.

Java Web Start Registry Settings - The following key is created for Java Web Start:

HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Web Start\1.5.0
This key contains the following value:

NameDefault Value
Home C:\Program Files\Java\jre1.5.0\javaws

The java.exe Executables

Two copies of the java.exe executable are installed. One copy is in the bin directory of the JRE. The second copy is placed in either C:\windows\system or C:\winnt\system32, depending on the system. Because of its location in the system directory, this second copy of java.exe can be launched from any directory location without giving the full path to it.

This second copy of the java.exe executable relies on the CurrentVersion registry setting to determine which registry key to use to look up the location of the JRE. For example, if the CurrentVersion registry is set to 1.5, the java.exe executable in the system directory will look at the HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\1.5 key to determine where the JRE is installed.

Note that the CurrentVersion registry value is that of the most recently installed JRE. If JRE 1.4.2 is installed after JRE 1.5.0, then CurrentVersion will have a value of 1.4, to match the version of the java.exe executable in the system directory.

Native Language Support

If native code support is required on Microsoft Windows platforms, the native library must be located in the executable search PATH.

Icons for Jar-Packaged Applications

You can give your application's Jar file a customized icon. The easiest way to do so is to create a Microsoft Windows shortcut for your application and set its icon to be your custom icon. This can be done by your application's installer program. You can create a custom icon using any icon editor. An icon editor is contained in many commercial development environments such as Visual C++.