[wix-users] Reducing WiX light.exe build time when packaging third party installation packages

David Bernstein bernstein.david at microsoft.com
Tue Feb 2 09:09:17 PST 2016


Hi,

I have a couple of WiX bundles which I'd like to come bundled with some common third party packages or bundles.
See simplified rough outline below.
When I turn Compressed="yes" on for the ExePackage I get the desired functionality, however WiX seems to spend a lot of time in the build process due to this (roughly 5 seconds for a single 65MB ThirdPartPackage.exe). This is on a strong server using an SSD.
Naturally, this gets worse when more bundles are built and more third-party packages are added.
Examining the VS build logs I can see that most time is spent in Light.exe.
Turning on pedantic logs it appears like most time is spent during "Loading payload '... ThirdPartyPackage.exe' into container." (this is an impression - no times are logged).
Why is Light.exe taking so long to load a large payload into a container?
Are there any settings to play with which can speed this up?
For example (wild guesses), increasing the I/O buffer size or notifying Light that ThirdPartyPackage.exe is already compressed and no attempt should be made to compress it or split it?

Bundle.wxs
<Bundle ...>
    <Chain>
      <PackageGroupRef Id="ThirdPartyPackageGroup" />
      <ExePackage... />
    </Chain>
</Bundle>

Prerequisites.wxs
<Fragment>
    <PackageGroup Id="ThirdPartyPackageGroup">
      <ExePackage Id="ThirdPartyPackage" Compressed="yes" SourceFile="$(sys.SOURCEFILEDIR)\Prerequisites\ThirdPartyPackage.exe" .../>
    </PackageGroup>
</Fragment>

Thanks,
David


More information about the wix-users mailing list