2014-11-05 56 views
0

已经复制了bin目录中,我试图从的TeamCity构建服务器安装Topshelf服务到我们的开发服务器,使用的MSBuild & PSEXEC TopShelf服务:无法安装使用的MSBuild和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路径。生成服务器帐户是目标服务器上的管理员,所以这应该工作?

回答

2

所以这里有几个可能的解决方案,但这不是特别的Topshelf问题。我猜猜9009是谎言。

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

谢谢,特拉维斯。我们可以排除2.因为我能够成功复制文件。我认为问题可能会更多1. - 询问我不确定PSExec是否安装。大型安全热情的企业环境,我仍然试图进入箱子。 有一些使用SC.exe从同一TeamCity安装的较旧的Windows服务。我试过重复使用他们的脚本,但服务似乎在启动时挂起。应该这样做吗? – ultra909 2014-11-06 11:06:18

+0

最后一行在日志文件: 2014年11月6日12:00:23315 [1] DEBUG MassTransit.Transports.RabbitMq.RabbitMqTransportFactory - RabbitMQ的连接创建:thunderrabbitdev:5672 // – ultra909 2014-11-06 11:07:06

+0

可悲的是,它看起来像我唯一的选择在这个环境中远程部署/安装服务是使用SC.exe,所以我必须删除TopShelf ... – ultra909 2014-11-06 15:31:07