向WiX Burn引导程序添加非常大的文件时,如何避免LGHT0306?

向WiX Burn引导程序添加非常大的文件时,如何避免LGHT0306?,wix,burn,wix3.9,Wix,Burn,Wix3.9,我正在使用Burn 3.9创建一个引导程序(带有用于UI的自定义托管引导程序应用程序)。我正在构建一个小型版本的引导程序(几兆字节),可以根据需要下载依赖项。我还在构建一个嵌入了所有依赖项的版本,以支持在安全网络上轻松安装。/layout命令行选项可以用于下拉依赖项,但是我的组织更喜欢单一的、单片的可执行文件,以使用户的操作简单 在我被要求添加1GB虚拟设备文件和相关的安装自述之前,一切都进行得很顺利。引导程序所要做的就是将它们放在用户在引导程序UI中指定的文件夹中。我将*.ova和*.htm文

我正在使用Burn 3.9创建一个引导程序(带有用于UI的自定义托管引导程序应用程序)。我正在构建一个小型版本的引导程序(几兆字节),可以根据需要下载依赖项。我还在构建一个嵌入了所有依赖项的版本,以支持在安全网络上轻松安装。/layout命令行选项可以用于下拉依赖项,但是我的组织更喜欢单一的、单片的可执行文件,以使用户的操作简单

在我被要求添加1GB虚拟设备文件和相关的安装自述之前,一切都进行得很顺利。引导程序所要做的就是将它们放在用户在引导程序UI中指定的文件夹中。我将*.ova和*.htm文件放入自解压zip可执行文件中,并在命令行上将目标文件夹传递给它。web安装程序版本运行得很好,但我尝试构建离线安装程序,并嵌入所有内容。我开始从灯光中得到一个错误:

light.exe(0,0): error LGHT0306: An error (E_FAIL) was returned while finalizing a CAB file. This most commonly happens when creating a CAB file with more than 65535 files in it. Either reduce the number of files in your installation package or split your installation package's files into more than one CAB file using the Media element.

我发现的关于这个错误的唯一相关对话是。这似乎与文件大小有关,而不是与文件计数有关。我想知道问题是否与引导程序可执行文件的总体大小(大约2GB)或非常大的自解压zip可执行文件的大小(大约1GB)有关。当我使用WiX构建MSI时,将内容分解为单独cab文件的语法非常清楚,但我不确定基于Burn的boostrapper是否也有相同的概念,或者是否有可能嵌入如此大小的文件。

使用嵌入式有效负载,Burn使用一个.cab文件,该文件在生成过程中附加到.exe。这意味着嵌入式有效负载的大小有2GB的限制。您可以附加到.exe的数量也可能有限制

我还没有尝试过,但看起来您可以尝试使用显式连接多个容器


除非您绝对需要一个.exe,否则您也可以创建一个未压缩的包。.msi、.cab和.exe文件可能是外部文件,但如果您正在创建.iso映像以供下载(例如),

谢谢,鲍勃!我已经读过了,但是我还没有看到一个明确使用它们的例子。听起来,我只是碰到了可以在单个EXE文件中分发的内容的限制,我们可能需要做出一些妥协,比如压缩具有依赖项的引导程序可执行文件,或者单独分发最大的文件。无论如何,我们的大多数用户不需要离线安装。如往常一样,我们非常感谢您迅速而翔实的回复!你也可以试试高压缩。WiX不允许为Burn容器指定压缩级别,但可以使用WiX_compression_level环境变量覆盖默认级别。看见