We have an Java web application that is installed on a Windows environment. We use Advanced Installer, a commercial product, to build the MSI. The installer installs Tomcat 7, Apache 2.0 and deploys our application code.
During an upgrade the tomcat files are updated and tomcat service is reinstalled. We get a note saying that not all files could be installed so a restart is necessary after the install.
If we ignore the restart prompt, everything works flawlessly. But, once the computer is restarted, Java no longer works and the Apache Tomcat Windows service does not start. Even running "java" or "java -version" in the JRE bin directory results in the following error:
C:\Program Files\Java\jre6\bin>java -version Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/Object
Our installer isn't modifying any of the Java files, just the installed tomcat files. So, i'm puzzeled as to what could be causing Java to stop working.
The only known work around is to completely re-install Java and then restart the Tomcat service. Does anyone know what would cause the Java JRE to be corrupted and only fail after the computer is restarted? We have recreated this problem on both 32 and 64 bit OSes including Windows XP, Windows Server 2003 and Windows Server 2008 R2.