Temos um aplicativo da Web Java instalado em um ambiente Windows. Usamos o Advanced Installer, um produto comercial, para construir o MSI. O instalador instala o Tomcat 7, Apache 2.0 e implementa nosso código de aplicativo.
Durante uma atualização, os arquivos do tomcat são atualizados e o serviço do tomcat é reinstalado.
Recebemos uma nota dizendo que nem todos os arquivos podem ser instalados, portanto é necessário reiniciar após a instalação.
Se ignorarmos o aviso de reinicialização, tudo funcionará perfeitamente. Mas, quando o computador é reiniciado, o Java não funciona mais e o serviço Apache Tomcat Windows não é iniciado. Mesmo a execução de "java" ou "java -version" no diretório bin do JRE resulta no seguinte erro:
C: \ Arquivos de programas \ Java \ jre6 \ bin > java -version
Erro ocorrido durante a inicialização da VM
java / lang / NoClassDefFoundError: java / lang / Object
Nosso instalador não está modificando nenhum dos arquivos Java, apenas os arquivos tomcat instalados. Então, estou confuso sobre o que poderia estar causando o Java parar de funcionar.
O único trabalho conhecido é reinstalar completamente o Java e, em seguida, reiniciar o serviço do Tomcat. Alguém sabe o que faria com que o Java JRE fosse corrompido e só falhasse depois que o computador fosse reiniciado? Nós recriamos esse problema em sistemas operacionais de 32 e 64 bits, incluindo o Windows XP, o Windows Server 2003 e o Windows Server 2008 R2.