Я использую установщик Windows tomcat5.0.28, и он остановился в середине индикатора выполнения.с последним сообщением "используя jvm: c: \ java \ j2sdk1.4.2_19 \" я жду долго, и кажется, что он завис, мне нужно убить процесс.
Я использую Process Explorer для проверкипроцессы.я нашел дочерний процесс, созданный установщиком tomcat, я проверил свойство этого процесса и обнаружил, что командная строка:
C: \ TEMP \ nse305.tmp \ ns306.tmp "C: \ Program Files \ Apache Software Foundation \ Tomcat5.0 \ bin \ tomcat5.exe "// IS // Tomcat5 - Отображаемое имя" Apache Tomcat "- Описание" Сервер Apache Tomcat 5.0 - http://jakarta.apache.org/tomcat/" --LogPath "C: \ Program Files \ Apache Software Foundation \ Tomcat 5.0 \ logs "- Установить" C: \ Program Files \ Apache Software Foundation \ Tomcat 5.0 \ bin \ tomcat5.exe "--Jvm" $ 2 "'
Я скопировал эту длинную командную строку и попытался запустить ее в окнах cmd, она показывает какое-то сообщение службы установки tomcat, затем зависает, процесс вообще не возвращается.
Я думаюв этом проблема, этот дочерний процесс не возвращает, который заблокировал установку tomcat.
Я загрузил исходный код tomcat5.0.28 и перешел в файл tomcat5.nsi (файл сценария установки) и обнаружил, что этопытается запустить это:
nsExec :: ExecToLog '"$ INSTDIR \ bin \ tomcat5.exe" // IS // Tomcat5 - Отображаемое имя "Apache Tomcat" - Описание "Apache Tomcat @ VERSION @ Server - http://jakarta.apache.org/tomcat/" --LogPath" $ INSTDIR \ logs"--Install" $ INSTDIR \ bin \ tomcat5.exe "--Jvm" $ 2 "'
похоже, что установщик использует nsExec, библиотеку для запуска команды.
Я нашел C: \ TEMP \ nse305.tmp \ ns306.tmp, и в этой же папке также есть файл nsExec.dll.Я сравнил ns306.tmp с nsExec.dll.между ними есть небольшая разница, только несколько байт, и 99% одинаковы, так что я думаю, что этот файл tmp на самом деле является вариантом nsExec.dll.
Я думаю, движок nsis создал эту временную папку и временную папку.файл, и использовать его для запуска командной строки, мне не ясно, как движок NSIS и NsExec выполняют свою работу, но я думаю, что на этот раз они не очень хорошо работают на моем компьютере, возможно, это проблема моего компьютера.
но почему этот процесс никогда не вернется?Кто-нибудь может дать мне какую-нибудь подсказку?
(я также пытался запустить установщик tomcat6.0, он работает хорошо, без проблем)