Search code examples
wixburn

WiX ExePackage Cache


The documents for the ExePackage element state the the purpose of the Cache attribute is

Whether to cache the package. The default is "yes".

I don't understand what this does. Where is the package getting cached?


Solution

  • Burn caches packages and payloads so repairs don't fail because the files are missing. That's a common problem with self-extracting .exes: The user downloads the .exe but the files are extracted to a temporary directory and are deleted afterward.

    Where they're cached is an implementation detail. Currently it's in a directory under app data (ProgramData for per-machine bundles) but the exact path can be redirected by the user. For example, see https://devblogs.microsoft.com/setup/how-to-relocate-the-package-cache/ and http://wixtoolset.org/development/wips/4278-allow-administrators-and-users-to-redefine-the-payload-cache-locations/.