2010-10-15 68 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