我们正在使用msbuild在远程计算机上部署多个NServiceBus服务。
在第一步中,我们使用msbuild同步所有文件并上传我们自行执行的存档(每个存档包含一个服务所需的dll)+ cmd脚本以停止/启动远程服务器的服务。这很好。
然后我们执行脚本。我们已在IIS上配置了所有需要的委派,并以正确的权限执行脚本。
脚本本身:
:doUpdateForService
net stop %SERVICE%
echo [*] Unpacking Service...
%workDir%\%SERVICE%.exe -d%TARGET_DIR% -s
echo unpacking finished
net start %SERVICE%
IF %ERRORLEVEL% NEQ 0 goto onerror
goto:eof
当我们第一次(所有服务都停止)时,它运行得很好,但在第二次运行时我们根本无法停止服务。甚至在当地。它返回给我们这样的东西:
The service can not be controlled in the existing state.
有什么建议吗?