aboutsummaryrefslogtreecommitdiff
path: root/src/engine/logging.cpp
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2021-02-02 18:09:58 -0600
committerSean Hall <r.sean.hall@gmail.com>2021-02-04 22:16:10 -0600
commitfd8c2b0899bfbce07386af245c04eb21dc01cbdf (patch)
tree33d928124b0028729916189ddb9f239a9574c75d /src/engine/logging.cpp
parent39725a1a6d1c72a6748bd3c306af32bcae6dbf8f (diff)
downloadwix-fd8c2b0899bfbce07386af245c04eb21dc01cbdf.tar.gz
wix-fd8c2b0899bfbce07386af245c04eb21dc01cbdf.tar.bz2
wix-fd8c2b0899bfbce07386af245c04eb21dc01cbdf.zip
Update the logic for determining when the bundle should be registered.
The basic rule is that if a non-permanent package is present at the end of the chain, then the bundle should be registered. If no non-permanent packages are present at the end of the chain, then the bundle should not be registered. This required tracking what actually happened with each package during Apply. Include cache status in registration calculation. Include dependency ref-counting when determining whether the bundle should be registered.
Diffstat (limited to 'src/engine/logging.cpp')
-rw-r--r--src/engine/logging.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/engine/logging.cpp b/src/engine/logging.cpp
index 9dca527a..a9646218 100644
--- a/src/engine/logging.cpp
+++ b/src/engine/logging.cpp
@@ -399,6 +399,31 @@ extern "C" LPCSTR LoggingPackageStateToString(
399 } 399 }
400} 400}
401 401
402extern "C" LPCSTR LoggingPackageRegistrationStateToString(
403 __in BOOL fCanAffectRegistration,
404 __in BURN_PACKAGE_REGISTRATION_STATE registrationState
405 )
406{
407 if (!fCanAffectRegistration)
408 {
409 return "(permanent)";
410 }
411
412 switch (registrationState)
413 {
414 case BURN_PACKAGE_REGISTRATION_STATE_UNKNOWN:
415 return "Unknown";
416 case BURN_PACKAGE_REGISTRATION_STATE_IGNORED:
417 return "Ignored";
418 case BURN_PACKAGE_REGISTRATION_STATE_ABSENT:
419 return "Absent";
420 case BURN_PACKAGE_REGISTRATION_STATE_PRESENT:
421 return "Present";
422 default:
423 return "Invalid";
424 }
425}
426
402extern "C" LPCSTR LoggingCacheStateToString( 427extern "C" LPCSTR LoggingCacheStateToString(
403 __in BURN_CACHE_STATE cacheState 428 __in BURN_CACHE_STATE cacheState
404 ) 429 )