Note: If you're looking for a java specific 1603 error, you might want to check out this blog post.
I'm going to spend some time on this damn error. I swear this error message is the "exit code" dumpster for Windows. It seems, on its face, to be the most useless exit code consistently thrown by Windows.
Well, maybe not. 1st things first, what do those "close" to this error say about 1603?
"Well, we know he grew up in a decent neighborhood. He wasn't incredibly popular but he had a few good friends. He enjoyed listening to RATT and Twisted Sister but he also waited in line for 2 days to get 3rd row seats to see Depeche Mode during the Black Celebration tour.
His given name is: ERROR_INSTALL_FAILURE. His SSN is 1603. His Family Crest is thus emblazoned: A Fatal Error Occurred During Installation.
It was with Windows XP that he went through puberty. All of the normal issues of a maturing American Error Code were present in 1603 during this time. Acne, Braces, Body Odor and, of course, Nocturnal Emissions. Slowly he started losing friends. Within 6 months he was compared to a Steven Jesse Bernstein poem. He was quickly becoming the loner that we know today.
"He's probably the hardest working error code out there" says Nils Sille, a Sys Admin and part-time error code bounty hunter. "You could say he is the Sasquatch of the Windows world. Every snapshot we have of the adult 1603 is similar: You never get a good look at his face and he's always walking away."
Fellow 43 year old virgin and part-time Sys Admin, Humphrey Warren, concurs. "If there was ever a time when we need the Bat Signal, it is now."
OK, listen, forget the lore. Forget the sensationalism. Lose the fear. When you run into a 1603 error, don't panic. There are a number of reasons that installations throw this error. Most of the time it is because "someone was expected but never showed up". That "someone" could be another Installation file, inadequate permissions to a directory or file (which you'd expect to see Error Code 5, the standard code for Access Denied events), an expected registry or WMI value, an environment variable, a network drive, etc. Antivirus software has also been known to be the cause of directories or files being unavailable and thus cause a 1603 error.
Let's say that you start an installation. The installation needs to refer to some files on a network share called \\Katrina\SharedDirectory. If SharedDirectory, for whatever reason, becomes unavailable after the installation has started and our installation attempts to access her data, well, your installation will, most likely, throw a temper-tantrum all over your hard drive. Chances are that all you will see at the end littered calling cards all emblazened with "1603".
Microsoft has stated that there are 3 primary reasons for 1603:
1- You are attempting to install to an encrypted drive or directory
2- You are attempting to install to a substituted drive
3- SYSTEM account does not have necessary permissions on the target directory
Of these 3 I've seen number 3 be the culprit the most.
The best 1603 article out there, IMO, is this one from msigeek.
It is very important to take your time with MSI related errors. Read log files. Verify permissions. Attempt an installation manually before you try a deployment. Consider the active protection offered by your antivirus software.
A Bat Signal is really not needed. Common sense and a Robert-DeNiro-in-The-Untouchables-Baseball-bat are really the only tools you need.