我无法通过Windows Server 2003服务器上的批处理脚本调用Microsoft Cabinet Maker实用程序(makecab)。批处理脚本由作为Windows服务安装在机器上的Hudson(持续集成服务)运行。Windows Server 2003 64位cmd.exe错误
的hudson.exe
(64位)过程产生一个java.exe
(32位)的过程,产生一个cmd.exe
(32位)的过程,产生一个makecab.exe
(32位)的过程。 Makecab然后产生一个错误:
D:\Hudson\jobs\Testing\workspace>C:\WINDOWS\system32\makecab.exe /F "D:\Build\2.3.278.40859.cab.df"
Microsoft (R) Cabinet Maker - Version 5.2.3790.0
Copyright (c) Microsoft Corporation. All rights reserved..
Parsing directives
Parsing directives (D:\Build\2.3.278.40859.cab.df: 1 lines)
D:\Build\2.3.278.40859.cab.df(12): ERROR:
但是,如果我打开一个远程桌面连接到服务器,并打开命令提示符窗口,然后运行makecab它完美的作品。但我注意到从Start> Run运行cmd.exe会生成一个64位进程,然后运行64位makecab进程。
任何人都可以解释为什么32位makecab可能会抛出一个错误?可执行文件存在于C:\WINDOWS\system32
和C:\WINDOWS\SysWOW64
中。
有什么办法,从32位cmd.exe
批处理脚本内java.exe
产卵并运行,运行的makecab.exe
的64位版本(不是复制从C:\WINDOWS\system32
到C:\WINDOWS\SysWOW64
物理可执行文件等)?
谢谢
“Execute Windows Batch Shell”中的命令是什么(如果使用的话)? – Sagar 2010-08-24 15:42:28
C:\ WINDOWS \ system32 \ makecab.exe/F“D:\ Build \ 2.3.278.40859.cab.df” – 2010-08-24 15:47:23