aboutsummaryrefslogtreecommitdiff
path: root/src/engine/mspengine.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/mspengine.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/mspengine.cpp')
-rw-r--r--src/engine/mspengine.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/engine/mspengine.cpp b/src/engine/mspengine.cpp
index ed105d24..5ccb6718 100644
--- a/src/engine/mspengine.cpp
+++ b/src/engine/mspengine.cpp
@@ -506,8 +506,7 @@ extern "C" HRESULT MspEnginePlanAddPackage(
506 __in BURN_PLAN* pPlan, 506 __in BURN_PLAN* pPlan,
507 __in BURN_LOGGING* pLog, 507 __in BURN_LOGGING* pLog,
508 __in BURN_VARIABLES* pVariables, 508 __in BURN_VARIABLES* pVariables,
509 __in_opt HANDLE hCacheEvent, 509 __in_opt HANDLE hCacheEvent
510 __in BOOL fPlanPackageCacheRollback
511 ) 510 )
512{ 511{
513 HRESULT hr = S_OK; 512 HRESULT hr = S_OK;
@@ -517,7 +516,7 @@ extern "C" HRESULT MspEnginePlanAddPackage(
517 // add wait for cache 516 // add wait for cache
518 if (hCacheEvent) 517 if (hCacheEvent)
519 { 518 {
520 hr = PlanExecuteCacheSyncAndRollback(pPlan, pPackage, hCacheEvent, fPlanPackageCacheRollback); 519 hr = PlanExecuteCacheSyncAndRollback(pPlan, pPackage, hCacheEvent);
521 ExitOnFailure(hr, "Failed to plan package cache syncpoint"); 520 ExitOnFailure(hr, "Failed to plan package cache syncpoint");
522 } 521 }
523 522