diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2021-04-16 09:40:18 -0500 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2021-04-19 23:12:55 -0500 |
commit | 941c47e5a3f57ce9626b447a95740b1444e69343 (patch) | |
tree | 6225b78f5fc7c8f88a2abf187a6a76d45b36ec26 /src/engine/apply.cpp | |
parent | d32f770ca05748df9e356444c7e617d5eeedb60c (diff) | |
download | wix-941c47e5a3f57ce9626b447a95740b1444e69343.tar.gz wix-941c47e5a3f57ce9626b447a95740b1444e69343.tar.bz2 wix-941c47e5a3f57ce9626b447a95740b1444e69343.zip |
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
Diffstat (limited to 'src/engine/apply.cpp')
-rw-r--r-- | src/engine/apply.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/engine/apply.cpp b/src/engine/apply.cpp index 2815f7da..b79bf934 100644 --- a/src/engine/apply.cpp +++ b/src/engine/apply.cpp | |||
@@ -1910,6 +1910,8 @@ static HRESULT DoRollbackActions( | |||
1910 | ExitFunction1(hr = S_OK); | 1910 | ExitFunction1(hr = S_OK); |
1911 | 1911 | ||
1912 | case BURN_EXECUTE_ACTION_TYPE_UNCACHE_PACKAGE: | 1912 | case BURN_EXECUTE_ACTION_TYPE_UNCACHE_PACKAGE: |
1913 | // TODO: This used to be skipped if the package was already cached. | ||
1914 | // Need to figure out new logic for when (if?) to skip it. | ||
1913 | hr = CleanPackage(pEngineState->companionConnection.hPipe, pRollbackAction->uncachePackage.pPackage); | 1915 | hr = CleanPackage(pEngineState->companionConnection.hPipe, pRollbackAction->uncachePackage.pPackage); |
1914 | IgnoreRollbackError(hr, "Failed to uncache package for rollback."); | 1916 | IgnoreRollbackError(hr, "Failed to uncache package for rollback."); |
1915 | break; | 1917 | break; |