通过Jenkins中的批处理脚本执行VBS

时间:2013-08-02 13:12:59

标签: vbscript jenkins windows-server-2008

我必须在Window Server 2008上执行脚本。我使用Jenkins来执行此操作。批处理代码(MainCode.bat)是

cd "C:\temp"
cscript install.vbs

install.vbs只是将应用程序安装在特定目录中。代码的摘录是:

Set wshshell = wscript.CreateObject("WScript.Shell") 
strCmd = "cmd /K C:\temp\InstallApp.exe -c -dir C:\ProductDir"
Wshshell.run (strCmd)
WScript.Sleep 2000
' choice of languages
WshShell.SendKeys "1"
WshShell.SendKeys "~"
    ...

为了测试这些脚本,我直接在Window Server 2008上运行MainCode.bat,它工作就像魅力一样。
在通过Jenkins运行时,脚本不会执行。没有错误消息,并且未完成安装。

通过Jenkins,调用MainCode.bat的代码是

call "C:\temp\MainCode.bat".

1 个答案:

答案 0 :(得分:3)

当您使用SendKeys时,我假设您运行的进程是GUI应用程序。你可能在无头模式下运行Jenkins slave作为windows服务,在这种情况下GUI应用程序会有问题。您应该将Jenkins slave agent作为jnlp运行。