Beat the Java Error 1603 When Deploying

Greetings fellow Sys Admins. If you, like me, are responsible for installing Java on all of your company’s Windows computers then you have most assuredly seen the dreaded Java error 1603 code. The video at the bottom of this post shows a Java 1603 error fix. ***Please note, PDQ Deploy does not work on Home editions of Windows***

What is a Java Error 1603?

This is a Windows Installer (MSI) error that simply means “Fatal error during installation”. This error usually means that “something the installer expected wasn’t available” or “Something exists that the installer didn’t expect”.

There are a number of reasons why 1603 is thrown. Rather than try to go into all the different reasons why this could happen (the number of reasons are too voluminous for a simple blog) I will quickly mention a few and then show you a great way to overcome this problem when it comes to Java. So pour a Guinness and listen (read) up.

Possible Reasons for a Java Error 1603

  • A required installation file is missing such as the data1.cab file if you are installing using the extracted MSI in Java 7. (Java 8 no longer uses a separate .cab file as all the necessary files are embedded in the actual MSI).
    • If you are deploying Java then an AV solution may delete the included files thus causing the installer to throw a 1603.
  • There are remnants of a previous Java installation.
    • When Java is installed (by default) it attempts to uninstall previous updates in the same family. e.g. Installing Java 7 Update 71 will uninstall Java 7 Update 67 but NOT Java 6 or Java 8.
    • Java Update did not complete. Sometimes previous updates are not completely uninstalled. When this happens a 1603 error can occur when the new version tries to install.
    • Sometimes the only remnant (that can still cause a failure) is a stray registry key! (seriously)
  • Java is currently being used when the installation begins. This is fairly common when you attempt to deploy the jre-7uxx-windowsxx.exe and the target computer is running Java in a browser.
  • You are attempting to deploy the online Java exe. If you are deploying the EXE (and not the extracted MSI) then it is imperative that you only install the offline version. A quick way to tell is if your install file contains the letters “iftw” in the name. (e.g. jre-8u11-windows-i586-iftw.exe). Iftw means “Install From The Web”. This file is very small (usually < 2 MB). NEVER deploy this file. First of all the online version usually includes the Ask Toolbar which we all know really, really sucks and is actually worse than any 1603 error you’ll ever run into. Just grab the offline file from Java, or better yet just use the Java packages from the PDQ Deploy Package Library. This link will take you the latest Java offline downloads for Java 8. This link will take you to the Java 7 downloads. (Once again, choose the Offline versions)

Resolving Java Error 1603

OK, those are some common reasons. Now here is the easy way to get around these problems.

Use PDQ Deploy to install Java on your Windows’ computers. Here is a screenshot of the latest Java 8 packages in the PDQ Deploy Package Library.

Java Error 1603 fix in Deploy

In most cases you can simply deploy the Java 8 Update 25 package. For computers that have problems installing this then we recommend using the ALTERNATE package. You will need a Pro or Enterprise mode license to access these packages. You can get a trial license of PDQ Deploy Enterprise and import your first three packages free of charge.

Here is a video showing how Lex and I deploy Java to some machines and then deploy the ALTERNATE package to one failed computer.

***UPDATE 2015-09-15***

One of our awesome power users, Selfman, sent us some information regarding the installation of Java on non-english versions of Windows and how he beat his particular 1603 error. His message is included below.

The problem is within the installer which has some issues with Unicode / non-English characters.

During the installation, the installer creates a installcache folder which is by default located (in WinXP)

at C:\Documents and Settings\All Users\Application data\Oracle\Java\installcache\

This folder contains bspatch.exe, baseimagefam8, diff.

The bspatch is run and creates a “newimage” which is basically a ZIP file.

This is then located by the installer.exe during its run:

C:\Program Files\Java\jre1.8.0_60\installer.exe “C:\Program Files\Java\jre1.8.0_60\installer.exe” /s INSTALLDIR=”C:\Program Files\Java\jre1.8.0_60\\” REPAIRMODE=0 ProductCode={26A24AE4-039D-4CA4-87B4-2F83218060F0}

The problem is that the path is set to a wrong location, so for example in Czech edition of WindowsXP its

“C:\Documents and Settings\All Users\Data aplikac\Oracle\Java\installcache\newimage”

instead of

“C:\Documents and Settings\All Users\Data aplikac√≠\Oracle\Java\installcache\newimage”

The ” √≠ ” character is missing from the path.

This is the reason why the installation fails. The installer can’t find the newimage and ends with “PATH NOT FOUND” (Process monitor)

The workaround is to copy the whole Oracle folder to the referred location and rerun the jre-8u60-windows-i586.exe setup.

The problem does not seem to appear on English Windows or systems with MUI/LIP.

My installation package failed and so did the AA alternative package.

Try PDQ Deploy