簡體   English   中英

在 Azure Pipelines 中更改構建映像時,Wix MSI 安裝程序失敗

[英]Wix MSI installer fail when changing build image in Azure Pipelines

正如此處所指出的,Azure Pipelines 中的一堆舊圖像將在幾天內被刪除。 幾年來,我們已經在 Azure Pipelines 中使用WIX構建了一些代碼 - 使用其中一個已棄用的圖像 (vs2015-win2012r2)。

如果我將構建映像更改為例如 vs2017-win2016,我會從 Azure Pipeline 收到此錯誤:

##[error]C:\Program Files (x86)\MSBuild\Microsoft\WiX\v3.x\wix2010.targets(2439,7): Error
MSB4064: The "AllowDuplicateDirectoryIds" parameter is not supported by the "Light" task. 
Verify the parameter exists on the task, and it is a settable public instance property.

更新:

我現在也可以在本地重現這個。 我發現從 WIX 3.10x 到 3.11x 的變化之一就是這個特定參數:

AllowDuplicateDirectoryIds

在此處輸入圖片說明

我還可以看到 Azure Pipeline 映像vs2017-win2016安裝了 WIX3.11,而Vs2015-Server2012R2安裝了 WIX3.10。

所以一切都合適......我的解決方案無法構建,因為它的目標是 WIX 3.10,但新映像安裝了 WIX 3.11。

所以我的 C# 安裝程序項目中的某些內容仍然引用了 Wix 3.10 並且失敗了,因為新的 3.11 具有一些 Wix 3.10 沒有的功能。

那可能是什么?

如您vs2017-win2016vs2017-win2016圖像使用vs2017-win2016版本是3.11 而且,不幸的是,到目前為止,我們不支持安裝自定義wix版本來覆蓋位於托管代理中的那個版本。

在您的場景中,您可以考慮使用一種解決方法:設置私有代理來構建您的項目。 只需確保安裝了私有代理的本地計算機中存在wix 3.10

使用此私有代理構建時,系統會從本地系統中檢測相應的工具。 因此,如果您確保在私有代理所在的機器上有wix 3.10 ,那將會成功。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM