diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2020-10-17 19:12:21 -0500 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2020-10-24 20:07:21 -0500 |
commit | 273c69f34311f4f4e5f6b5896e71d0788f12d96a (patch) | |
tree | 4cf8f42f3ecfa9341a41686b74aa5e48068ede87 /src/engine/plan.cpp | |
parent | 3f8e35223216ebbe7f6683a5031a5a97bbc66d5a (diff) | |
download | wix-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.cpp | 10 |
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; |