aboutsummaryrefslogtreecommitdiff
path: root/src/engine/plan.cpp
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2020-10-17 19:12:21 -0500
committerSean Hall <r.sean.hall@gmail.com>2020-10-24 20:07:21 -0500
commit273c69f34311f4f4e5f6b5896e71d0788f12d96a (patch)
tree4cf8f42f3ecfa9341a41686b74aa5e48068ede87 /src/engine/plan.cpp
parent3f8e35223216ebbe7f6683a5031a5a97bbc66d5a (diff)
downloadwix-273c69f34311f4f4e5f6b5896e71d0788f12d96a.tar.gz
wix-273c69f34311f4f4e5f6b5896e71d0788f12d96a.tar.bz2
wix-273c69f34311f4f4e5f6b5896e71d0788f12d96a.zip
WIXFEAT:6210 Change data type of versions to strings.
Diffstat (limited to 'src/engine/plan.cpp')
-rw-r--r--src/engine/plan.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/engine/plan.cpp b/src/engine/plan.cpp
index 0b040bf8..f6b681b6 100644
--- a/src/engine/plan.cpp
+++ b/src/engine/plan.cpp
@@ -530,7 +530,7 @@ extern "C" HRESULT PlanPackages(
530 530
531 pAction->type = BURN_EXECUTE_ACTION_TYPE_COMPATIBLE_PACKAGE; 531 pAction->type = BURN_EXECUTE_ACTION_TYPE_COMPATIBLE_PACKAGE;
532 pAction->compatiblePackage.pReferencePackage = pPackage; 532 pAction->compatiblePackage.pReferencePackage = pPackage;
533 pAction->compatiblePackage.qwInstalledVersion = pCompatiblePackage->Msi.qwVersion; 533 pAction->compatiblePackage.pInstalledVersion = pCompatiblePackage->Msi.pVersion;
534 534
535 hr = StrAllocString(&pAction->compatiblePackage.sczInstalledProductCode, pCompatiblePackage->Msi.sczProductCode, 0); 535 hr = StrAllocString(&pAction->compatiblePackage.sczInstalledProductCode, pCompatiblePackage->Msi.sczProductCode, 0);
536 ExitOnFailure(hr, "Failed to copy installed ProductCode"); 536 ExitOnFailure(hr, "Failed to copy installed ProductCode");
@@ -880,7 +880,7 @@ static HRESULT ProcessPackage(
880 { 880 {
881 AssertSz(BURN_PACKAGE_TYPE_MSI == pPackage->type, "Currently only MSI packages have compatible packages."); 881 AssertSz(BURN_PACKAGE_TYPE_MSI == pPackage->type, "Currently only MSI packages have compatible packages.");
882 882
883 hr = UserExperienceOnPlanCompatibleMsiPackageBegin(pUX, pCompatiblePackageParent->sczId, pPackage->sczId, pPackage->Msi.qwVersion, &pPackage->requested); 883 hr = UserExperienceOnPlanCompatibleMsiPackageBegin(pUX, pCompatiblePackageParent->sczId, pPackage->sczId, pPackage->Msi.pVersion, &pPackage->requested);
884 ExitOnRootFailure(hr, "BA aborted plan compatible MSI package begin."); 884 ExitOnRootFailure(hr, "BA aborted plan compatible MSI package begin.");
885 } 885 }
886 else 886 else
@@ -1207,6 +1207,7 @@ extern "C" HRESULT PlanRelatedBundlesBegin(
1207 LPWSTR* rgsczAncestors = NULL; 1207 LPWSTR* rgsczAncestors = NULL;
1208 UINT cAncestors = 0; 1208 UINT cAncestors = 0;
1209 STRINGDICT_HANDLE sdAncestors = NULL; 1209 STRINGDICT_HANDLE sdAncestors = NULL;
1210 int nCompareResult = 0;
1210 1211
1211 if (pRegistration->sczAncestors) 1212 if (pRegistration->sczAncestors)
1212 { 1213 {
@@ -1261,7 +1262,10 @@ extern "C" HRESULT PlanRelatedBundlesBegin(
1261 case BOOTSTRAPPER_RELATION_UPGRADE: 1262 case BOOTSTRAPPER_RELATION_UPGRADE:
1262 if (BOOTSTRAPPER_RELATION_UPGRADE != relationType && BOOTSTRAPPER_ACTION_UNINSTALL < pPlan->action) 1263 if (BOOTSTRAPPER_RELATION_UPGRADE != relationType && BOOTSTRAPPER_ACTION_UNINSTALL < pPlan->action)
1263 { 1264 {
1264 pRelatedBundle->package.requested = (pRegistration->qwVersion > pRelatedBundle->qwVersion) ? BOOTSTRAPPER_REQUEST_STATE_ABSENT : BOOTSTRAPPER_REQUEST_STATE_NONE; 1265 hr = VerCompareParsedVersions(pRegistration->pVersion, pRelatedBundle->pVersion, &nCompareResult);
1266 ExitOnFailure(hr, "Failed to compare bundle version '%ls' to related bundle version '%ls'", pRegistration->pVersion, pRelatedBundle->pVersion);
1267
1268 pRelatedBundle->package.requested = (nCompareResult > 0) ? BOOTSTRAPPER_REQUEST_STATE_ABSENT : BOOTSTRAPPER_REQUEST_STATE_NONE;
1265 } 1269 }
1266 break; 1270 break;
1267 case BOOTSTRAPPER_RELATION_PATCH: __fallthrough; 1271 case BOOTSTRAPPER_RELATION_PATCH: __fallthrough;