首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Azure管道中更改生成映像时,Wix MSI安装程序失败

在Azure管道中更改生成映像时,Wix MSI安装程序失败
EN

Stack Overflow用户
提问于 2020-03-21 22:25:53
回答 1查看 337关注 0票数 0

正如here所提到的,Azure Pipeline中的一堆遗留图像将在几天内被移除。我们在Azure Pipeline中使用WIX构建代码已经有几年了-使用一个被弃用的图像(vs2015-win2012r2)。

如果我将我的构建镜像更改为例如vs2017-win2016,我会从我的Azure Pipeline中得到这个错误:

代码语言:javascript
复制
##[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# installer项目中的某些内容仍然引用了Wix3.10,并且失败了,因为新的3.11具有一些Wix3.10没有的功能。

那会是什么呢?

EN

回答 1

Stack Overflow用户

发布于 2020-03-23 16:11:31

正如您所发现的,vs2017-win2016镜像使用的wix版本是3.11。而且,不幸的是,到目前为止,我们还不支持安装自定义的wix版本来覆盖托管代理中的版本。

在您的场景中,您可以考虑使用一种解决方法:设置private agent来构建您的项目。只需确保私有代理安装的本地计算机中存在wix 3.10即可。

当使用这个私有代理构建时,系统将从本地系统检测相应的工具。因此,如果您确保私有代理所在的计算机中有wix 3.10,则会成功。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60788971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档