每当我尝试将signtool.exe
与时间戳服务器一起使用,从TeamCity中的构建运行它时,它就会失败并出现以下错误:
EXEC The specified timestamp server either could not be reached or returned an invalid response.
签名是从包含以下代码的.bat文件完成的。签名很好,这是失败的时间戳。
set SIGNTOOL_DIR=%ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bin\
"%SIGNTOOL_DIR%signtool.exe" sign /f %1 /p mypassword /t http://timestamp.verisign.com/scripts/timstamp.dll /v %2
...并且批处理文件将从Visual Studio执行,并带有以下Post Build Event ...
if $(ConfigurationName)==Release "$(SolutionDir)Sign.bat" "$(SolutionDir)myFile.pfx" "$(SolutionDir)obj\Release\myApplication.exe
奇怪的是它在Team City之外运行良好。如果我自己构建在Visual Studio中调用上述批处理文件的解决方案,那么每次都可以正常完成。
即使我远程登录运行TeamCity的服务器并从那里执行批处理文件(虽然我必须将%ProgramFiles%
更改为%ProgramFiles(x86)%
),但它运行没有问题。
上述结果是一致的,因此不仅仅是间歇性的连接问题......