WiX:在非常大的应用程序中使用多个驾驶室

时间:2010-02-18 17:17:33

标签: wix wix3

我最近开始学习和使用WiX,我的第一个真正的WiX项目是重新打包Qt的自定义配置。这是一个相当大的挑战,因为Qt项目非常庞大。

我已经成功地通过这个过程粉碎了我的方式,但最近在链接期间遇到了障碍。我一直在收到Light.exe错误“LGHT0296”,很可能是因为我创建了一个远大于2 GB的CAB。在尝试了最高压缩级别并且没有任何区别之后,我唯一的选择就是将安装包拆分成多个CAB文件(旁注:返回的错误对于告诉我哪些课程非常有帮助)尝试的行动)。

无论如何,在创建多个CAB文件时,我发现自己有点迷失。我不完全确定在这种情况下我应该做什么,而且我无法找到任何有用的文档或示例来完成此拆分。我这样做的最佳方式是什么?

感谢。

1 个答案:

答案 0 :(得分:7)

您只需声明多个这样的媒体元素:

  <Media Id='1' Cabinet='package1.cab' EmbedCab='no'/> 
  <Media Id='2' Cabinet='package2.cab' EmbedCab='no'/>

如果您的安装介质上有足够的空间而宁愿消除安装程序用来解压缩文件的时间和磁盘空间,那么您也可以将未打包的文件放在相对于MSI的某个文件夹中(您甚至可以创建)这样MSI that installs itself):

  <Media Id='3' Layout="./somefolder" />

最后,您通过添加DiskId属性来选择在哪个媒体中放置每个文件:

  <File Source="./somefile" DiskId="2" />