2010-10-15 106 views
0

我使用的是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安裝程序,它工作得很好,沒有問題)

回答

0

不知道這是否是相關的,但我依稀記得有使用Tomcat的問題時,我安裝了它,其中包括一個路徑空的空間。即。 C:\ Program Files中的Tomcat安裝路徑中的「Program」和「Files」之間的空間可能是問題的原因。

雖然我可能完全偏離軌道。讓我們知道這是否有幫助。

0

我同意tim_wonil該問題可能是一個壞的道路。

至於nsExec去,。dll文件通常是NSIS插件,而nsExec插件會複製它自己的副本和複製的補丁,因此它將作爲程序運行而不是dll。你可以找到nsExec來源@NSIS SCM