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/.