2013-05-08 84 views
1

我有2個產品A和B作爲我們項目的一部分...我們使用wix安裝程序...安裝程序代碼是用C#使用visual studio 2008編寫的並且我們在構建或使用這些安裝程序時沒有任何問題。wix安裝程序問題:jenkins自動生成

最近,我們決定實施一個自動構建系統(Jenkins),我們在這裏自動構建產品以及它們的安裝程序。

當我們從jenkins進行構建時,產品A的安裝程序構建失敗。它說 - 「命名空間」部署「在Microsoft命名空間中不存在」。 和其他一些依賴關係失敗了這一點。有趣的是,在同一臺機器上完成視覺工作室時的相同構建工作...但通過jenkins完成時失敗。

我們以admin用戶身份運行所有這些。不確定詹金斯是否有訪問「Microsoft.Deployment」的問題?

我試着重新安裝wix框架(以確保jenkins不訪問一些損壞的安裝程序或部署dll),並添加了對「Microsoft.Deployment」的顯式引用......但沒有幫助。

而且,同一臺機器上的其他產品B的安裝程序運行時沒有問題。

有什麼建議可能是錯的?

回答

1

聽起來好像您已將WiX toolset與Visual Studio一起安裝。這將自動安裝DTF,這聽起來像是Jenkins構建中缺少的先決條件。要獲得DTF,您可以在您的構建機器上安裝WiX工具集,或者,更好的選項恕我直言,是將WiX工具集檢入源代碼控制。 WiX手冊中有一個主題提供了名爲Integrating WiX Projects Into Daily Builds的分步說明來完成後者。

如果您簽入WiX工具集到您的版本,您可能需要更新一些現有的引用以指向WiX工具集的本地副本。

+0

不 - 我安裝wix分開..不與視覺工作室。另外,我可以看到SDK中的Microsoft.Deployment dll和wix安裝文件夾中的bin文件夾。它的理由爲什麼詹金斯無法訪問它。 – techieChamp 2013-05-08 06:06:42

+0

查看失敗項目中的'Reference'元素。他們可能有不能在構建機器上正確解析的路徑。 – 2013-05-08 06:57:55

+0

好吧..我想我解決了它......我使用devenv而不是MSBuild來構建,並且幫助解決了大部分問題。 – techieChamp 2013-05-09 04:04:21