无法使用MSBuild和PSExec安装TopShelf服务

时间:2014-11-05 16:56:07

标签: .net deployment msbuild psexec topshelf

复制了bin目录后,我试图使用MSBuild& amp ;;将TeamCity构建服务器的Topshelf服务安装到我们的开发服务器上。 PSEXEC:

<Exec Command="psexec \\$(ServerName) $(ServerBinDirLocal)\$(ProjectName).exe install -displayname $(ApplicationLongName) -description &quot;$(ServiceDescription)&quot; --networkservice --delayed" ContinueOnError="false" />

然而,无论我尝试什么组合引号,我总是得到:

The command "psexec \\srv06541wn d:\Bin\Service.DEV\Service.exe install ..." exited with code 9009. 

显然这是一个DNS错误,但我无法看到这是怎么回事,因为我提供的是本地而非UNC路径。构建服务器帐户是目标服务器上的管理员,因此这应该有效吗?

1 个答案:

答案 0 :(得分:2)

所以这里有几种可能的解决方案,但这并不是Topshelf的特别问题。我猜测9009是骗人的。

  1. 第一种可能是你需要psexec的完整路径。 C:\...\psexec。您可以通过将命令更改为非常简单并确保其有效来对此进行测试。 psexec可能不在TeamCity的路径上。
  2. 验证它是否适用于没有FQDN的主机名。 TeamCity可能与您没有相同的上下文。