aboutsummaryrefslogtreecommitdiff
path: root/src/engine/msiengine.cpp
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2021-04-16 09:40:18 -0500
committerSean Hall <r.sean.hall@gmail.com>2021-04-19 23:12:55 -0500
commit941c47e5a3f57ce9626b447a95740b1444e69343 (patch)
tree6225b78f5fc7c8f88a2abf187a6a76d45b36ec26 /src/engine/msiengine.cpp
parentd32f770ca05748df9e356444c7e617d5eeedb60c (diff)
downloadwix-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/msiengine.cpp')
-rw-r--r--src/engine/msiengine.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/engine/msiengine.cpp b/src/engine/msiengine.cpp
index 269fc831..35ca5c62 100644
--- a/src/engine/msiengine.cpp
+++ b/src/engine/msiengine.cpp
@@ -932,8 +932,7 @@ extern "C" HRESULT MsiEnginePlanAddPackage(
932 __in BURN_PLAN* pPlan, 932 __in BURN_PLAN* pPlan,
933 __in BURN_LOGGING* pLog, 933 __in BURN_LOGGING* pLog,
934 __in BURN_VARIABLES* pVariables, 934 __in BURN_VARIABLES* pVariables,
935 __in_opt HANDLE hCacheEvent, 935 __in_opt HANDLE hCacheEvent
936 __in BOOL fPlanPackageCacheRollback
937 ) 936 )
938{ 937{
939 HRESULT hr = S_OK; 938 HRESULT hr = S_OK;
@@ -963,7 +962,7 @@ extern "C" HRESULT MsiEnginePlanAddPackage(
963 // add wait for cache 962 // add wait for cache
964 if (hCacheEvent) 963 if (hCacheEvent)
965 { 964 {
966 hr = PlanExecuteCacheSyncAndRollback(pPlan, pPackage, hCacheEvent, fPlanPackageCacheRollback); 965 hr = PlanExecuteCacheSyncAndRollback(pPlan, pPackage, hCacheEvent);
967 ExitOnFailure(hr, "Failed to plan package cache syncpoint"); 966 ExitOnFailure(hr, "Failed to plan package cache syncpoint");
968 } 967 }
969 968