2012-08-05 75 views
2

我已經開始在一個小項目中使用Microsoft Team Foundation Service(TFS在雲中,因此爲TFService)的預覽,我目前正在使用包含在TFService中的在線構建服務。使用團隊基礎服務的自動構建安裝程序

我想要做的是添加某種安裝程序。我以前曾使用過InstallShield Limited Edition,WIX和Inno Setup,並希望在可能的情況下繼續使用其中之一。

我以前將Inno Setup集成爲構建過程(TFS 2010)的一部分。這包括在構建計算機上安裝Inno Setup,並添加一個用於運行inno安裝腳本的自定義構建任務。最後一部分也應該可以使用TFService,因爲可以創建自定義構建過程模板。

但是,我意識到安裝諸如Inno Setup或InstallShield之類的東西將無法與TFService一起使用,因爲無法在構建計算機上安裝任何第三方軟件(它只是在某個未知虛擬計算機上運行的雲服務,我無法訪問)。

所以我的問題是,有沒有辦法自動創建一個安裝程序作爲在TFService上運行的構建過程的一部分?例如,構建服務是否可以構建開箱即用的installshield項目(畢竟,Visual Studio包含許可證)?還有其他方法可以做到這一點嗎?

+1

我已經完成了這個並且回答如此。但我真正的答案是從MSDN下載TFS 2010 Server ISO,並在虛擬機上構建自己的構建服務器,並將其指向您的雲實例。您可以充分享受構建環境的權利,並可以更好地在本地存檔您的構建版本。 – 2012-08-06 02:33:09

+0

謝謝,兩種方法。雲託管虛擬機聽起來像要走的路,歡呼 – havardhu 2012-08-06 08:31:12

+0

@havardhu我想看看將Inno Setup集成到我們的構建過程。我幾乎沒有定製TFS構建的經驗 - 你有什麼指示從哪裏開始? – 2013-12-23 14:49:49

回答

2

我有這方面的一些經驗,試圖讓WiX和InstallShield與Microsoft TFS預覽雲服務一起使用他們的託管構建代理。在這些代理上,您沒有管理員權限,並且無法安裝軟件。

這當前排除了必須安裝的InstallShield。

但是,可以將WiX二進制文件檢入源代碼管理並將其作爲構建的一部分下載。

WiX使用.wixproj文件(MSBuild)來定義他們的項目編譯活動。這引用了目標文件和其他屬性(引用註冊表值),這些屬性在部署時不會存在。一小撮黑客將獲得所有這些屬性以解決可行的值。

雖然你可能仍然有一個問題(我在考慮TFS託管構建環境),你可能必須配置你的項目以跳過MSI ICE驗證套件。在Windows安裝程序服務上運行的構建機器上,出現了右鍵禁用的情況,這妨礙了測試的運行。

+0

你有沒有關於如何「破解」構建配置以使用WiX的示例/指針? – Mark 2013-10-08 07:41:35

+0

這個答案是1年半,不再有效。 WiX現在在構建服務器上。但是,由於無法訪問管理員,因此仍然無法運行驗證。請參閱:http://tfs.visualstudio.com/en-us/learn/hosted-build-controller-in-vs.aspx#software – 2013-10-08 11:22:11

+0

和:http://listofsoftwareontfshostedbuildserver.azurewebsites.net/ – 2013-10-08 11:23:28