Wix:单个MSI代替MSI + Cab


163

我的Wix项目创建install.msi和cab1.cab。我如何才能将所有内容捆绑到msi中?我可能会使用7-zip SFX来解决此问题,但是我已经看到只有msi的其他应用程序。

Answers:


248

您没有发布任何源,但是我假设您的wxs文件具有Media元素。只需将EmbedCab属性设置为“是”即可。


8
我有一个空的MediaTemplate元素,但我将其替换为:<Media Id =“ 1” Cabinet =“ Cab1.cab” EmbedCab =“ yes” />谢谢!
wtjones 2012年

124
注意,您可以添加EmbedCab="yes"MediaTemplate元素中以实现此目的。
杰夫·耶茨

10
直到WiX 3.6才提供MediaTemplate。wtjones没有提到他使用的是哪个版本的WiX,所以我提到了对更多人有用的方法。
Christopher Painter

57

设置EmbedCab="yes"

从WIX 3.8开始:

<MediaTemplate EmbedCab="yes" />

在WIX 3.8之前:

<Media Id="1" Cabinet="cab1.cab" EmbedCab="yes" />

24

像这样使用它:

<Media Id="1" Cabinet="CabFileName.cab" EmbedCab="yes" />

同时文章介绍了做这件事的其他方式。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.