我使用的是tomcat5.0.28的windows安裝程序,它停在進度條中間。 與最後一條消息「使用jvm:c:\ java \ j2sdk1.4.2_19 \」 我等了很長時間,似乎凍結,我必須殺死這個過程。安裝Tomcat 5.0.28失敗
我使用進程資源管理器來檢查進程。我發現Tomcat的安裝程序創建一個孩子的過程,我檢查這個過程的性質,並發現命令行是:
C:\ TEMP \ nse305.tmp \ ns306.tmp「C:\ Program Files文件\ Apache Software Foundation \ Tomcat5.0 \ bin \ tomcat5.exe「// IS // Tomcat5 --DisplayName」Apache Tomcat「--Description」Apache Tomcat 5.0 Server -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安裝服務消息,然後它fr結果,這個過程根本不會回來。
我覺得是這個問題,這個子進程沒有返回,這阻塞了tomcat的安裝。
我下載了tomcat5.0.28源代碼,並轉到tomcat5.nsi文件(安裝腳本文件),並發現它正試圖運行此:
nsExec :: ExecToLog「「$ INSTDIR \ bin \ tomcat5.exe「// IS Tomcat5 --DisplayName」Apache Tomcat「 - 描述」Apache Tomcat @ VERSION @ Server - http://jakarta.apache.org/tomcat/「--LogPath」$ INSTDIR \ logs「 - 安裝」$ 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安裝程序,它工作得很好,沒有問題)