我正在使用 Wix Toolset 3.11 并尝试创建一个 Wix 引导程序,该引导程序正在为我的软件安装一个非常大的先决条件 - 一个遗留的 InstallShield 可执行文件,在 ~600 个文件夹中找到 ~5000 个相关文件。我已将所有这些文件压缩成一个大约 3GB 的自解压存档。尝试构建时出现以下错误:
light.exe(0,0):错误 LGHT0001:算术运算导致溢出。
这是我当前在引导程序中的相关 XML:
<Chain>
<PackageGroupRef Id="MyPrerequisites"/>
<PackageGroupRef Id="ReallyBigExe"/>
<PackageGroupRef Id="OtherStuff"/>
</Chain>
<Fragment>
<util:RegistrySearch Id=ReallyBigExeFound" Key="Assume searching stuff is here"/>
<PackageGroup Id=ReallyBigExe">
<ExePackage InstallCondition="ReallyBigExeFound"
Compressed="no"
DisplayName="Install Really Big Thing"
Permanent="no"
SourceFile="Packages\ReallyBigThing.exe"
Name="ReallyBigThing.exe"/>
</PackageGroup>
</Fragment>
我尝试了压缩、缓存、名称等的不同变体,都导致相同的错误。我知道这是由于包含的 exe 文件很大;在此处查看Github 问题。
我还看到分离的容器应该有助于解决这个问题。我尝试了几种将容器与我的 PackageGroup 结合使用的组合,但也无济于事。
所以,问题是:我如何在我的安装程序中包含这个非常大的 exe 包,以便我将它安装在包链中,但不将它嵌入到引导数据文件中?