安装Tomcat 5.0.28失败

时间:2010-10-15 01:25:55

标签: java tomcat nsis

我正在使用tomcat5.0.28 windows安装程序,它在进度条中间停止。 最后一条消息“使用jvm:c:\ java \ j2sdk1.4.2_19 \” 我等了很久,似乎冻结了,我必须杀死这个过程。

我使用进程资源管理器来检查进程。我找到了tomcat安装程序创建的子进程,我检查了这个进程的属性,发现命令行是:

C:\ TEMP \ nse305.tmp \ ns306.tmp“C:\ Program Files \ Apache Software Foundation \ Tomcat5.0 \ bin \ tomcat5.exe”// IS // Tomcat5 - DisplayName“Apache Tomcat” - 描述“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 windows中运行它,它显示了一些tomcat安装服务消息,然后它冻结,进程根本没有返回。

我认为这是问题,这个子进程没有返回,这阻止了tomcat的安装。

我下载了tomcat5.0.28源代码并转到tomcat5.nsi文件。(安装脚本文件),发现它正在尝试运行它:

nsExec :: ExecToLog'“$ INSTDIR \ bin \ tomcat5.exe”// IS // Tomcat5 --DisplayName“Apache Tomcat” - 描述“Apache Tomcat @ VERSION @ Server - {{ 3}}“ - 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安装程序,它运行良好,没问题)

2 个答案:

答案 0 :(得分:0)

不确定这是否相关,但我依旧记得在将Tomcat安装在包含空格的路径上时遇到问题。即。 C:\ Program Files中Tomcat安装路径中“Program”和“Files”之间的空格可能是问题的原因。

但是,我可能完全不在赛道上。如果这有帮助,请告诉我们。

答案 1 :(得分:0)

我同意tim_wonil认为这个问题在某个地方可能是一条糟糕的道路。

就nsExec而言,.dll文件通常是NSIS插件,而nsExec插件会复制自身和复制的补丁,因此它将作为程序而不是dll运行。您可以找到nsExec source @ NSIS SCM