无URL访问从Windows服务执行的批处理文件

时间:2011-12-07 14:09:41

标签: c# url service batch-file signtool

我正在通过Windows服务签署可执行文件。此服务创建批处理文件,其中实际的Sign命令为:

cd D:\wmt_sign\Signer\Tools
signtool sign /f "D:\codesign\cert\Certificate.pfx" /p MyPass /t "http://timestamp.digicert.com" /d "zxz" /du "http://www.testurl.com"  "D:\codesign\Sign\Request307\filetobesigned.exe">>"D:\codesign\log\signlog\Request\SignLogReport.txt"
  1. 当我直接从机器执行批处理命令时没问题,一切正常
  2. 当我从commanline执行Sign命令direclty时,没有问题一切正常
  3. 当我在代码(process.startinfo ....等)中执行批处理文件时,无法访问timestamp-url! (错误是“无法访问指定的时间戳服务器。”)
  4. 该服务在本地系统帐户下运行,有一个防火墙,但是这个防火墙对外向流量开放。

    我根本不知道......

1 个答案:

答案 0 :(得分:0)

默认情况下,LocalSystem帐户无权访问网络。您应该使用网络服务帐户。即使这样,如果您尝试访问的任何URL需要身份验证,它也可能无法正常工作。在这种情况下,您可能需要为服务创建域帐户以在其下运行或模拟。