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