Граф коммитов

143 Коммитов

Автор SHA1 Сообщение Дата
Sean Hall 752f0e0576 Let BA override the package's cache type during Plan.
Rename cache types to REMOVE, KEEP, FORCE.
Change implementation of FORCE to not be through CACHED request state.
Create package condition enum so BA can tell when InstallCondition wasn't specified.
Tell BA when package is cached.
Tell BA when package is planned to be cached and uncached.
2021-04-29 14:05:34 -05:00
Sean Hall 7099dd38ab size_t-ify BootstrapperEngine.h and BundleExtensionEngine.h 2021-04-29 14:05:34 -05:00
Sean Hall e78138558f Clean up 32-bit assumptions. 2021-04-29 14:05:34 -05:00
Sean Hall 14cdda3c48 Set source of attached containers to WixBundleOriginalSource if set.
Use file size when probing local files.

#5586
2021-04-25 22:58:23 -05:00
Sean Hall bf31c11edf Add support for downloading embedded payloads.
#5253
2021-04-25 22:58:23 -05:00
Sean Hall d291d27f94 Share code to map stream name to payload when extracting containers. 2021-04-25 22:58:23 -05:00
Sean Hall dd16dd2344 DOWNLOAD is not a valid packaging value. 2021-04-25 22:58:23 -05:00
Sean Hall abdde5b419 UX payloads are never external, part 2. 2021-04-25 22:58:23 -05:00
Sean Hall 666196071c For payloads in a container, prefer the container over local paths.
Still consider the destination path to avoid extracting the container for every payload.

#3640
2021-04-25 22:58:23 -05:00
Sean Hall 61a8d39f68 Allow setting source from OnCacheAcquireResolving. 2021-04-19 23:12:55 -05:00
Sean Hall 707e77212e Clean up caching log messages. 2021-04-19 23:12:55 -05:00
Sean Hall d4c76dd11f Send more progress during cache verification.
Add verifyStep to OnCacheVerifyProgress.
Send OnContainerOrPayloadVerify events only if file existed in cache.
2021-04-19 23:12:55 -05:00
Sean Hall 26151ceeb5 Make sure OnCache*Begin events always pair with their complete event. 2021-04-19 23:12:55 -05:00
Sean Hall cc24053695 Perform all layout operations in the BA process. 2021-04-19 23:12:55 -05:00
Sean Hall b1d1e523f5 Add OnCachePayloadExtract*. 2021-04-19 23:12:55 -05:00
Sean Hall c308746132 When extracting a container use the uncompressed file size for progress
Remove the container's cache progress when reextracting
Skip extracting payloads that are already cached
2021-04-19 23:12:55 -05:00
Sean Hall 70bb69c0e5 Remove the package's cache progress when retrying the whole package. 2021-04-19 23:12:55 -05:00
Sean Hall 22fb11c033 Add BURN_PAYLOAD_GROUP_ITEM to be able to move payloads during caching. 2021-04-19 23:12:55 -05:00
Sean Hall 8c77de737a Elevate for CacheVerifyContainer/Payload. 2021-04-19 23:12:55 -05:00
Sean Hall d7b0329e16 Add OnCacheContainerOrPayloadVerify* for a file already in the cache. 2021-04-19 23:12:55 -05:00
Sean Hall e09a129ee2 UX payloads are never external. 2021-04-19 23:12:55 -05:00
Sean Hall acf86637a6 Add OnCacheVerifyProgress, though currently it only reports at the end. 2021-04-19 23:12:55 -05:00
Sean Hall 31539e7a5b Make sure payload unverified path is not read-only during acquisition. 2021-04-19 23:12:55 -05:00
Sean Hall 12a5bf6840 Track progress of bundle being laid out. 2021-04-19 23:12:55 -05:00
Sean Hall 9a061c70f8 Always send OnCacheAcquireProgress at least once per payload.
Always send OnCacheAcquireProgress between OnCacheAcquireBegin and OnCacheAcquireComplete.
Track the successful cache acquisition progress during the final progress call.
2021-04-19 23:12:55 -05:00
Sean Hall 66360b60b0 Only set the last used folder if the target passed verification. 2021-04-19 23:12:55 -05:00
Sean Hall 5d6046bee5 Replace OnResolveSource with OnCacheAcquireResolving
Inactivate the engine during OnCacheAcquireBegin and Complete to allow setting the source from there.

Fixes #3640
Contributes to #5253
2021-04-19 23:12:55 -05:00
Sean Hall b941c27547 Verify file in the cache before trying to acquire it. 2021-04-19 23:12:55 -05:00
Sean Hall 90cdf39e6e Don't plan payloads.
Contributes to #3640 and #5253
2021-04-19 23:12:55 -05:00
Sean Hall c88806b892 Detect whether the bundle is cached. 2021-04-19 23:12:55 -05:00
Sean Hall 941c47e5a3 Detect a package as cached if any of its payloads exist.
Detect is supposed to be fast, so it can't fully verify every payload for every package. The engine was wasting its time by trying to verify file sizes without the hash. Even worse, it was making decisions during planning based on that insufficient verification.

Contributes to #3640
2021-04-19 23:12:55 -05:00
Rob Mensching d32f770ca0 Allow BA to update feed source
Fixes wixtoolset/issues#5568
2021-04-14 12:15:52 -07:00
Rob Mensching 6f7bb97daa Add MEND request state to repair any missing files in MSI packages 2021-04-14 12:15:52 -07:00
Rob Mensching 70adfc49cb Layout using the source engine handle 2021-04-14 12:15:52 -07:00
Rob Mensching 8b47ea4805 Detect system MSI packages before user managed packages 2021-04-14 12:15:52 -07:00
Rob Mensching 74c40b3fdd Avoid activating the engine's windows 2021-04-14 12:15:52 -07:00
Rob Mensching 648133ee7f Enhanced reboot pending detection 2021-04-14 12:15:52 -07:00
Rob Mensching ad5aeb25c4 Port support for ISO/IEC 19770-2:2105 (aka SWID Tags-2)
Fixes wixtoolset/issues#8380
2021-04-14 12:15:52 -07:00
Sean Hall e9a4f67351 Skip bundle dependent checking when ignoring dependencies includes ALL.
Fixes #6391.
2021-03-30 21:59:51 -05:00
Sean Hall 5cbe372f0a Rename cache types in the manifest to remove, keep, force.
Contributes to #5125
2021-03-30 21:59:51 -05:00
Bob Arnson 65b905667b Include bundle reboot-pending in RebootPending variable.
Fixes https://github.com/wixtoolset/issues/issues/5332
2021-03-28 22:32:10 -04:00
Nir Bar b7582318f6 Use wiutil to start/end msi transactions
Release MSI transaction handles immediately

contributes to #5386
2021-03-17 14:49:24 -05:00
Sean Hall af68033509 Handle when related bundles have an uninstall key but aren't cached.
#4991
2021-03-11 20:24:18 -06:00
Sean Hall 10ef9d5bfb Determine whether to ignore forward compatible bundles during Plan. 2021-03-11 20:24:18 -06:00
Sean Hall 778b65643f Ensure bundle is registered and cached when modifying machine state.
#5702
2021-03-09 14:34:45 -06:00
Sean Hall 8b25ff4180 Consider the bundle as eligible for cleanup if running from the cache. 2021-03-09 14:34:45 -06:00
Bob Arnson 838d10a319 Correctly handle missing/null values with ~<> operator.
(That's case-insensitive non-equal.)

Fixes https://github.com/wixtoolset/issues/issues/5372
2021-03-07 19:31:22 -05:00
Sean Hall 7f128f4639 Use SHA512 instead of SHA1.
#3992
2021-03-02 15:47:43 -06:00
Sean Hall 2275180902 Upgrade to latest dutil for SHA512.
#3992
2021-03-02 15:47:43 -06:00
Sean Hall 100944a40f Let the BA request the bundle to stay installed from OnUnregisterBegin.
#6297
2021-03-02 15:47:43 -06:00