Skip to main content

New JDK Registration Capability in Java SE 6u5

Posted by mandychung on March 6, 2008 at 3:23 PM PST

JDK product registration is one of the most significant features in the new Java SE 6u5 release. This provides the ability to register the JDK installations through Sun Connection. Registering the JDK is optional. We would like the JDK registration to provide mutual benefits to both Sun and the developers.

JDK Installation Experience

There is a change in the JDK installation flow for this feature.

The above is the new panel of the Windows installer at the end of JDK installation. When you click "Finish", the JDK Registration Login page will be opened in a browser. To complete JDK registration, you will need to login your existing Sun Developer Network (or other Sun online account). If you do not have an existing account, you can create one during the registration process. After you login and the JDK is registered, you will see a "Thank You" page.


JDK Registration Login page

Thank You page

Offline JDK Registration Page

There is an offline JDK registration page located in the JDK install directory (<JDK>\register.html) along with two localized versions (Japanese and simplified Chinese) that allows you to register your JDK any time after installation.

Technical Details

The registration process begins after the JDK installation completes where you get the last panel providing the information about JDK registration. When you click "Finish", the following happens:

Step 1:
Collect the product registration data about the installed JDK including:

  • JDK service tag. See "What is a Service Tag" in my previous blog
  • System information including hostname, OS name, version and architecture.

The completed list of data being collected is described at the JDK Product Information page. In the next release, additional system information may be collected and the JDK Product Information page will be updated accordingly.

Step 2:
Post the JDK registration data to Sun Connection via https and the data will be temporarily stored in a Sun Connection server until the JDK is registered. The data will be purged after a short period of time after it is received from the HTTP POST and if the JDK is not registered.

Step 3:
Launch the default desktop browser and open the JDK Registration Login page. Each JDK registration has a unique identifier which will be passed as part of the URL parameters and the Sun Connection registration web application will use it to look up the registration data it receives from the HTTP POST in step 2.

Thanks to the new java.awt.Desktop API added in Java SE 6 release which helps the implementation a lot.

Known limitation: On Solaris and Linux, the JDK registration implementation is dependent on Gnome libraries. If those libraries are unavailable, the Desktop API is not supported and no browser will be opened. See the Swing Tutorial for details.

Step 4:
A new file, <JDK>/register.html, and its localized versions (register_ja.html and register_zh_CN.html) will be generated in the JDK install directory. We call this file as an offline JDK registration page which combines step 2 and step 3 in an HTML form. This offline JDK registration page can be used to register your JDK any time. You may see this page opened in the browser in step 3 if your system doesn't have internet connection or fails to post the registration data in step 2 for example due to the network or firewall configuration.

Step 5:
Once the browser is launched, the JDK installation process will finish and exit. At this point, the JDK is not registered until you login your Sun Developer Network account or other Sun online account. If you do not register, no data will be saved in Sun Connection database.

JDK Registration and Service Tags

My previous blog gave an overview of the Service Tags technology. Service tag is a digital product identifier to enable product registration. JDK registration process generates a service tag for the JDK. The service tag information will then be uploaded to Sun Connection during registration. If the JDK is installed on a Service Tags enabled system (i.e. the Service Tags software has been installed on your system), the JDK service tag will be created in the service tag registry and the JDK will be discoverable with the Registration Manager client tool.


JDK product registration is part of Sun's larger effort to support registration across its hardware and software products. NetBeans, Glassfish and many other Sun products also provide the ability to register the products. You can track and manage your registered products at Sun Inventory Channel. Sun Inventory Channel is one of the Sun Connection services and it is a free inventory management portal that provides a centralized repository to organize and manage your deployed products on your systems.

Registering the JDK and other products will enable us to provide faster and efficient services and collaboration, for example:

  • provide you more customized updates including new releases, security fixes, and news relevant to your deployed products.
  • inform you when a change in one version of a product on your system would have an impact on other products you have running (related to performance, compatibility or security, for example).
  • enable us to better test and optimize performance for your system.
  • effectively communicate our product or service offerings based on the software you have installed on your system.


Related Topics >>


iow it's just one more way to nag and allienate the people you need most, the people developing in Java. One more "next" button extra to press in the installer to bypass that registration screen which is little more it seems than a way to harvest email addresses. You should realise by now that developers overall don't like such things, they're far more liable to give you deliberately incorrect information (if any) just to see you trash around trying to make sense of it than they are to give you their real life stories.

Visual Studio asks only for a serial number and which components you want to install. Far easier, far less intrusive, and with the way Java is going a far more appealing choice for future development.

This is really, really terrible. I especially take offense to the line "JDK product registration is one of the most significant features in the new Java SE 6u5 release." Nobody, and I mean nobody who actually deploys applications, wants the end user to be bothered with one more registration screen after installing java. We want installation simpler, faster, and smaller. Maybe you meant that only the JDK, not the JRE has this registration "feature". Sure, this is better, but I fail to see any benefit to me to register. Not only that, but apparently you have to register for an account in order to register the jdk...if by "significant" you actually mean "pointless and annoying", then I suppose would agree.

well said Paul. One more reason to not use 1.6.

Registration is for the JDK only. There is no registration functionality in the JRE. Making the installation simpler and faster and improving the installation experience is surely what we continue to strike for especially for the JRE. JDK registration is always optional. Also, the JDK team has worked hard to make sure the registration process is as unintrusive as possible. This feature allows us to know our customers better and build the products that they want and need. We'll be writing an article or white paper to cover the benefits in more details. Stay tuned!

For where I work, it'd be nice if we could host the JRE on an internal server and let our users/customers download the JRE via WebStart without any connection to Sun whatsoever. Some kind of corporate intranet deployment toolset would be great, as many of our customers are on closed networks without Internet connections in the first place.