Saturday, February 14, 2009

JDK 6u12 Windows Installer Error 2203

I ran into a rather weird Windows Installer error while installing the latest Java Developement Kit (JDK or Java SE Development Kit) version 6 Update 12 (otherwise known as JDK6u12). I was installing Java 6u12 dev kit into a Windows 2003 Server VM (Virtual Machine - VMware) and kept running into this whacky Windows Installer Error 2203 (followed by some other installer internal error code information).

I searched the web; tried various things as others suggested (to no avail), and finally decided I would figure out the "problem" on my own.

The Solution - TEMP dir must be default
Well, after repeated attempts, I figured out that this was all due to the fact that I had changed my Windows environment variables for the TEMP / TMP directories from the default ones. I generally dislike having the temporary directory for Windows being the default one located under a location like "C:\Documents and Settings\Administrator\Local Settings\Temp", and instead I go into the Control Panel, System, Advanced, Environment Variables, and set TMP / TEMP to point to something like "C:\TEMP" or "C:\Junk" or such.

Well, turns out the Java JDK installer does not like this, and errors with that Windows Installer 2203 error consistently -- until I blew away my re-mapped TEMP (environment variables) and allowed Windows defaults to kick in again (I assume this issue would exist on both Windows XP Pro and Windows 2003 Server). I was using Windows 2003 Server SP2.

I personally find this jdk6u12 install error 2203 something that should NEVER have happened to begin with. Obviously there is something a bit "off" in the Sun Java JDK 6 installer that causes this issue / problem. And, it cost me more time than I ever wanted to spend debugging it. Who knows, maybe it is a problem with the Windows Installer itself. I do not know.

Hopefully this will save someone else some time.

What I was REALLY trying to do was get the latest Java JDK, Java DB (aka Derby), NetBeans 6.5 and JavaFX 1.1 installed for development purposes, but instead I ended up wasting time debugging an installation routine. The good news is that in the end, I prevailed! :)