Search code examples
c++visual-studiowixwindows-installerheat

Harvest(Heat) Wix - archive resources in the msi


Is it possible to archive resources in msi file instead of creating .cab . What is the pros and cons of these two method


Solution

  • Embed Cabs: If you are referring to eliminating the external cab during MSI compilation for WiX visual studio projects, then you can achieve this by setting the EmbedCab attribute of the MediaTemplate element to "yes":

    <MediaTemplate EmbedCab="yes" />
    

    Here is an attempted "minimal changes" sample for how to build a basic MSI after creating a WiX project in Visual Studio. Suggest scrolling down to the actual WiX markup for the inline comments.

    Why use External Cabs?: I rarely use external cabs if I can help it, but there are some advantages in some cases centering around build-speed and more reliable downloading (according to Arnson, see second link below). There may be further benefits. For example downloading a smaller cab for MSI repair operations if installation source is on a remote server - related to downloading. Cab files can make security software and anti-virus go spastic though.


    This question has been answered before BTW - in similar incarnations. See below.


    Some Links: