aboutsummaryrefslogtreecommitdiff
path: root/src/engine/msuengine.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/msuengine.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/msuengine.cpp')
-rw-r--r--src/engine/msuengine.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/engine/msuengine.cpp b/src/engine/msuengine.cpp
index 91bbf361..59f9a656 100644
--- a/src/engine/msuengine.cpp
+++ b/src/engine/msuengine.cpp
@@ -193,8 +193,7 @@ extern "C" HRESULT MsuEnginePlanAddPackage(
193 __in BURN_PLAN* pPlan, 193 __in BURN_PLAN* pPlan,
194 __in BURN_LOGGING* pLog, 194 __in BURN_LOGGING* pLog,
195 __in BURN_VARIABLES* pVariables, 195 __in BURN_VARIABLES* pVariables,
196 __in HANDLE hCacheEvent, 196 __in HANDLE hCacheEvent
197 __in BOOL fPlanPackageCacheRollback
198 ) 197 )
199{ 198{
200 HRESULT hr = S_OK; 199 HRESULT hr = S_OK;
@@ -203,7 +202,7 @@ extern "C" HRESULT MsuEnginePlanAddPackage(
203 // add wait for cache 202 // add wait for cache
204 if (hCacheEvent) 203 if (hCacheEvent)
205 { 204 {
206 hr = PlanExecuteCacheSyncAndRollback(pPlan, pPackage, hCacheEvent, fPlanPackageCacheRollback); 205 hr = PlanExecuteCacheSyncAndRollback(pPlan, pPackage, hCacheEvent);
207 ExitOnFailure(hr, "Failed to plan package cache syncpoint"); 206 ExitOnFailure(hr, "Failed to plan package cache syncpoint");
208 } 207 }
209 208