2016-05-19 85 views
1

我想通过命令行使用Inno安装程序在Windows 10上安装Tomcat作为服务,但是我现在遇到了问题,这是我的语法。调试从Inno Setup安装程序执行的非工作批处理文件或命令

[Run] 
Filename: net.exe; Flags: runascurrentuser; parameters: "user elt_user TrackFox38# /add" 

; installs tomcat makes it run as a service NOTE THAT IN INNO THIS IS A SINGLE LINE 
Filename: {src}\..\apache-tomcat-7.0.69\bin\service.bat; Flags: runascurrentuser; parameters: "tomcat7 //IS//Tomcat7 --DisplayName='Apache_Tomcat_7'^--Install='C:\Program Files\Tomcat\bin\tomcat7.exe' --Jvm=auto^--StartMode=jvm --StopMode=jvm^--StartClass=org.apache.catalina.startup.Bootstrap --StartParams=start^--StopClass=org.apache.catalina.startup.Bootstrap --StopParams=stop" 

奇怪的是,它在我手动粘贴到命令行时起作用。起初,我认为这是一个权限问题,但事实上,net.exe命令的工作和Tomcat不会调用这个问题。此外,我有权限设置为管理和应用程序需要管理员权限来启动安装程序,所以我不认为它是一个用户问题。我是Inno Setup的新手,有点卡住了。

调试输出:

[09:18:54.770] Filename: C:\program\Output\..\apache-tomcat- 7.0.69\bin\service.bat 
[09:18:54.771] Parameters: tomcat7 //IS//Tomcat7 --DisplayName='Apache_Tomcat_7'^--Install='C:\Program Files\Tomcat\bin\tomcat7.exe' --Jvm=auto^--StartMode=jvm --StopMode=jvm^--StartClass=org.apache.catalina.startup.Bootstrap --StartParams=start^--StopClass=org.apache.catalina.startup.Bootstrap --StopParams=stop 
[09:18:54.867] Process exit code: 0 
+0

将条目更改为:'文件名:{cmd};标志:runascurrentuser;参数:“/ k {src} \ .. \ apache-tomcat-7.0.69 \ bin \ service.bat tomcat7 // IS // Tomcat7 ...”'。这会在命令完成后保持控制台窗口打开。检查它说什么。 –

+0

+我很确定那些'^'不应该在那里。但是,它们也可能不会造成任何伤害,只要它们都遵循并在空间之前。 –

+0

+您可以编辑日志到您的问题,以便它可读? (然后删除命令)。 –

回答

1

当你执行一个批处理文件(或任何命令),其结果(或错误),要么根本不可见的(特别是在使用runhidden标志)或很快消失的是你无法阅读它们。

在这种情况下,通过cmd.exe明确运行命令(运行批处理文件时Inno Setup的做它含蓄地对自己的),但这次/K开关,而不是更常见的/C开关。 /K交换机可确保控制台窗口不会自行关闭。

所以不是:

[Run] 
Filename: {app}\setup.bat; Parameters: "arguments" 

或等价物:

[Run] 
Filename: {cmd}; Parameters: "/C ""{app}\setup.bat"" arguments" 

用途:

[Run] 
Filename: {cmd}; Parameters: "/K ""{app}\setup.bat"" arguments" 

然后控制台窗口中setup.bat结束后停留,你可以看到最终的错误。

如果批处理文件以隐藏正在执行的命令的普通@echo off命令开头,那么使用rem临时注释掉该行也将有助于调试。

enter image description here

相关问题