2009-01-22 29 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