2009-01-22 31 views
5

我想使用Microsoft.Sdc.Tasks库安装windows服务。使用MSBuild和Microsoft.Sdc.Tasks安装win32服务

<ControlService Action="Install" 
    ServiceName="Service1" 
    User="XXX 
    Password="XXX" 
    ServiceExePath="$(DeployFolder)\XXX.exe"/> 

但我不断收到提示输入用户名和密码!这不会工作,因为我想它作为生成服务器上的自动生成。我的意思是,我想要运行该服务的用户和密码在实际目标中。我如何使用配置的用户和密码来安装服务,但不提示它?

回答

4

发现this post因为我所有的服务都是从本地文件写入和读取,所以我应该可以在本地服务帐户下运行,而不是在特定用户下运行。即使在更新服务安装程序后,ControlService -target需要用户和密码才能运行,但是那么我实际上并没有提示我输入用户名和密码。但后来我不想运行特定的用户,并且在配置中没有提供用户和密码时目标失败......奇怪。

我解决了对InstallUtil.exe的炮击问题。在将我设置的服务安装程序设置为以本地服务帐户运行之后,这可以正常工作。

<Exec WorkingDirectory="C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727" 
      Command="InstallUtil.exe -i XXX.exe" /> 
+1

这只会在构建服务器上安装的服务。如果你想把它安装到远程服务器上,你应该从这里使用servicecontroller任务:http://weblogs.asp.net/scottgu/archive/2006/02/12/438061.aspx – 2009-07-09 15:31:41