@joebigelow / wix / commits / c5b9c47a

Finalize MSP package registration states before logging them.

Sean Hall committed Feb 4, 2021 at 20:18 UTC c5b9c47a26ca4e9d4eea63b7219b4d34938a5f1a
3 files changed +13 -8
src/engine/apply.cpp
+5 -5
@@ -885,6 +885,11 @@ static void CalculateKeepRegistration(
885 {
886 BURN_PACKAGE* pPackage = pEngineState->packages.rgPackages + i;
887
888 + if (BURN_PACKAGE_TYPE_MSP == pPackage->type)
889 + {
890 + MspEngineFinalizeInstallRegistrationState(pPackage);
891 + }
892 +
893 LogId(REPORT_STANDARD, MSG_POST_APPLY_PACKAGE, pPackage->sczId, LoggingPackageRegistrationStateToString(pPackage->fCanAffectRegistration, pPackage->installRegistrationState), LoggingPackageRegistrationStateToString(pPackage->fCanAffectRegistration, pPackage->cacheRegistrationState));
894
895 if (!pPackage->fCanAffectRegistration)
@@ -892,11 +897,6 @@ static void CalculateKeepRegistration(
897 continue;
898 }
899
895 - if (BURN_PACKAGE_TYPE_MSP == pPackage->type)
896 - {
897 - MspEngineFinalizeInstallRegistrationState(pPackage);
898 - }
899 -
900 if (BURN_PACKAGE_REGISTRATION_STATE_PRESENT == pPackage->installRegistrationState ||
901 BURN_PACKAGE_REGISTRATION_STATE_PRESENT == pPackage->cacheRegistrationState)
902 {
src/engine/core.cpp
-2
@@ -1103,8 +1103,6 @@ extern "C" HRESULT CoreCleanup(
1103 hr = CoreApply(pEngineState, pEngineState->hMessageWindow);
1104 ExitOnFailure(hr, "Apply during cleanup failed");
1105
1106 - // Need to think about cache=always
1107 -
1106 LExit:
1107 return hr;
1108 }
src/engine/mspengine.cpp
+8 -1
@@ -732,7 +732,11 @@ extern "C" void MspEngineFinalizeInstallRegistrationState(
732 __in BURN_PACKAGE* pPackage
733 )
734 {
735 - Assert(pPackage->fCanAffectRegistration);
735 + if (!pPackage->fCanAffectRegistration)
736 + {
737 + ExitFunction();
738 + }
739 +
740 pPackage->installRegistrationState = BURN_PACKAGE_REGISTRATION_STATE_ABSENT;
741
742 for (DWORD i = 0; i < pPackage->Msp.cTargetProductCodes; ++i)
@@ -745,6 +749,9 @@ extern "C" void MspEngineFinalizeInstallRegistrationState(
749 break;
750 }
751 }
752 +
753 +LExit:
754 + return;
755 }
756
757