aboutsummaryrefslogtreecommitdiff
path: root/src/engine/exeengine.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/exeengine.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/exeengine.cpp')
-rw-r--r--src/engine/exeengine.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/engine/exeengine.cpp b/src/engine/exeengine.cpp
index cee755e3..46905fc3 100644
--- a/src/engine/exeengine.cpp
+++ b/src/engine/exeengine.cpp
@@ -269,8 +269,7 @@ extern "C" HRESULT ExeEnginePlanAddPackage(
269 __in BURN_PLAN* pPlan, 269 __in BURN_PLAN* pPlan,
270 __in BURN_LOGGING* pLog, 270 __in BURN_LOGGING* pLog,
271 __in BURN_VARIABLES* pVariables, 271 __in BURN_VARIABLES* pVariables,
272 __in_opt HANDLE hCacheEvent, 272 __in_opt HANDLE hCacheEvent
273 __in BOOL fPlanPackageCacheRollback
274 ) 273 )
275{ 274{
276 HRESULT hr = S_OK; 275 HRESULT hr = S_OK;
@@ -279,7 +278,7 @@ extern "C" HRESULT ExeEnginePlanAddPackage(
279 // add wait for cache 278 // add wait for cache
280 if (hCacheEvent) 279 if (hCacheEvent)
281 { 280 {
282 hr = PlanExecuteCacheSyncAndRollback(pPlan, pPackage, hCacheEvent, fPlanPackageCacheRollback); 281 hr = PlanExecuteCacheSyncAndRollback(pPlan, pPackage, hCacheEvent);
283 ExitOnFailure(hr, "Failed to plan package cache syncpoint"); 282 ExitOnFailure(hr, "Failed to plan package cache syncpoint");
284 } 283 }
285 284