2017-05-08 14 views
1

我使用的是Win10 64位操作系統,安裝Wix3.11RC工具箱。我的VS2017已經創建了一個Wix v3安裝程序項目。我們的團隊正在使用TeamCity9.1作爲CI工具。構建維克斯安裝項目的TeamCity 9.1,但是如何設置`WixToolPath`在建機?

現在我想讓TeamCity中的Build Agent支持wixproj構建,不需要觸摸CI服務器設置(我的沒有特權)。我基本上遵循一些教程來檢查所有必要的Wix構建文件(wix Bin文件夾和wix.targets),這些文件放在源代碼的相對路徑中,現在我在編輯.wixproj文件時被路徑問題阻止,官方文檔說: http://wixtoolset.org/documentation/manual/v3/msbuild/daily_builds.html

<PropertyGroup> 
     <WixToolPath>$(SourceCodeControlRoot)\wix\[[Version]]\</WixToolPath> 
     <WixTargetsPath>$(WixToolPath)Wix.targets</WixTargetsPath> 
     <WixTasksPath>$(WixToolPath)wixtasks.dll</WixTasksPath> 
</PropertyGroup> 

這是我的:

<PropertyGroup> 
     <WixToolPath>..\..\wix\3.11\</WixToolPath> 
     <WixTargetsPath>$(WixToolPath)targetsFile\v3.x\wix.targets</WixTargetsPath> 
     <WixTasksPath>$(WixToolPath)wixtasks.dll</WixTasksPath> 
    </PropertyGroup> 

我使用的是相對路徑WixToolPath原因是$(SourceCodeControlRoot)在這裏解析爲D:\,但實際上酸味ce代碼將被CI服務器檢出並置於像D:\ABC\f14c7929aa63f1fc這樣的隨機文件夾下。通過我的配置,在本地構建甚至無法通過,則生成錯誤指示WixTasksPath已被解析到一個不存在的路徑:C:\Program Files (x86)\MSBuild\Microsoft\WiX\v3.x\..\..\wix\3.11\wixtasks.dll

那麼,怎樣才能實現我?謝謝!

+0

這個問題已經被標記爲在GitHub的文檔錯誤:https://github.com/wixtoolset/issues/issues/1911。不幸的是,這個問題沒有任何更新。 –

回答

0

一個可以嘗試的方法是在文件中更改爲使用調用該工具之前的TeamCity提供的引用的絕對路徑的路徑。在TeamCity設置中,如果作爲MSBuild構建步驟運行,則可以將結帳目錄路徑作爲%system.teamcity.build.checkoutDir%引用,或者在MSBuild步驟中使用$ {teamcity.build.checkoutDir}。 你可以在第一生成步驟更換或只使用TeamCity的file content replacer改變舊值新的。