Wix:单个MSI而不是msi + cab

wtj*_*nes 156 windows-installer wix

我的Wix项目创建了install.msi和cab1.cab.我怎么能把它捆绑到msi中?我可能会使用7-zip SFX来解决这个问题,但我看到其他只有一个msi的应用程序.

Chr*_*ter 233

你没有发布任何来源,但我认为你的wxs文件有一个Media元素.只需将EmbedCab属性设置为"yes"即可.

  • 注意,你可以在`MediaTemplate`元素中添加`EmbedCab ="yes"`来实现这一点. (117认同)
  • MediaTemplate直到WiX 3.6才可用.wtjones没有提到他正在使用什么版本的WiX,所以我提到了对更多人有用的方式. (10认同)
  • 我有一个空的MediaTemplate元素,但我将其替换为:<Media Id ="1"Cabinet ="Cab1.cab"EmbedCab ="yes"/>谢谢! (8认同)

Phi*_*ann 49

设置EmbedCab="yes".

自WIX 3.8起:

<MediaTemplate EmbedCab="yes" />
Run Code Online (Sandbox Code Playgroud)

在WIX 3.8之前:

<Media Id="1" Cabinet="cab1.cab" EmbedCab="yes" />
Run Code Online (Sandbox Code Playgroud)


Sid*_*Sid 24

像这样使用它:

<Media Id="1" Cabinet="CabFileName.cab" EmbedCab="yes" />
Run Code Online (Sandbox Code Playgroud)

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


小智 8

使用WiX 工具集 v4,您只需在元素MediaTemplate中添加以下元素Package

<MediaTemplate EmbedCab="yes" />
Run Code Online (Sandbox Code Playgroud)