When does burn for WiX toolset use C:ProgramDataPackage Cache vs C:Users…AppDataLocalPackage Cache?

I now encounter weird errors.

I have a bundle project (calling bundle A) that is perfectly working, and now I am working on a bundles that is created again from the bundle A. (calling this new bundle B)
Even though the prerequisite exe has not changed, nor the <ExePackage …> code, error started to show up in the middle of installing the prerequisite for bundle B.

Error code itself are 0x800702e4, but I do not think the cause is not elevation issue.
I compared the binaries (using winmerge) and confirmed the exe are same.

Main difference I found in the bundle .log is the path the file is available.

In the bundle A, the path of this prerequisite was located in C:ProgramDataPackage Cache

However, in the bundle B the path of this prerequisite is placed at C:UsersMy.User.NameAppDataLocalPackage Cache

I recall the majority of the time ProgramData was used before.
How could this happen?
When does WiX determine to use different package locations?
Is there a flag in the bundle code I can modify to guarantee the use of ProgramData?

Best regards,

Source: Windows Questions