0
votes

I am using tomcat5.0.28 windows installer , and it stopped in the middle of progress bar. with the last message "using jvm: c:\java\j2sdk1.4.2_19\" i wait for a long time, and it seems freeze, i have to kill the process.

I use process explorer to check the processes. i found a children process created by tomcat installer, i checked the property of this process, and found the command line is:

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" --Install "C:\Program Files\Apache Software Foundation\Tomcat 5.0\bin\tomcat5.exe" --Jvm "$2"'

i copied this long command line, and try to run it in cmd windows, it show some tomcat install service message, then it freeze, the process does not return at all.

i think that is the problem, this children process does not return , which blocked the tomcat installation.

i downloaded the tomcat5.0.28 sourcecode and go to tomcat5.nsi file.(the install script file), and found it is trying to run this :

nsExec::ExecToLog '"$INSTDIR\bin\tomcat5.exe" //IS//Tomcat5 --DisplayName "Apache Tomcat" --Description "Apache Tomcat @VERSION@ Server - http://jakarta.apache.org/tomcat/" --LogPath "$INSTDIR\logs" --Install "$INSTDIR\bin\tomcat5.exe" --Jvm "$2"'

looks like the installer use nsExec, a library to run the command .

i found C:\TEMP\nse305.tmp\ns306.tmp, and in the same folder, there is also a nsExec.dll file. i compared the ns306.tmp with nsExec.dll. there is a little difference between them, only several byte, and 99% is same, so i think this tmp file is actually a variant of nsExec.dll.

i guess the nsis engine created this temp folder and temp file, and use it to run the command line, i am not clear how NSIS engine and NsExec do their job, but i think they don't work well this time in my pc, maybe it's my pc's problem.

but why this process never return? can anybody give me any clue ?

(i also tried to run tomcat6.0 installer, it works well, no problem)

2

2 Answers

0
votes

Not sure if this is related, but I vaguely remember having issues with Tomcat when I installed it on a path which included empty spaces. ie. the space in between "Program" and "Files" in your Tomcat installation path in C:\Program Files... may be the cause for the issues.

I might be completely off the track though. Let us know if this helps though.

0
votes

I agree with tim_wonil that the issue is probably a bad path somewhere.

As far as nsExec goes, .dll files are normally NSIS plugins and the nsExec plugin makes a copy of itself and patches that copy so it will run as a program and not a dll. You can find the nsExec source @ NSIS SCM