From 273c69f34311f4f4e5f6b5896e71d0788f12d96a Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Sat, 17 Oct 2020 19:12:21 -0500 Subject: WIXFEAT:6210 Change data type of versions to strings. --- src/engine/relatedbundle.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/engine/relatedbundle.cpp') diff --git a/src/engine/relatedbundle.cpp b/src/engine/relatedbundle.cpp index 87794177..e6d6516a 100644 --- a/src/engine/relatedbundle.cpp +++ b/src/engine/relatedbundle.cpp @@ -396,6 +396,7 @@ static HRESULT LoadRelatedBundleFromKey( { HRESULT hr = S_OK; DWORD64 qwEngineVersion = 0; + LPWSTR sczBundleVersion = NULL; LPWSTR sczCachePath = NULL; DWORD64 qwFileSize = 0; BURN_DEPENDENCY_PROVIDER dependencyProvider = { }; @@ -407,9 +408,12 @@ static HRESULT LoadRelatedBundleFromKey( hr = S_OK; } - hr = RegReadVersion(hkBundleId, BURN_REGISTRATION_REGISTRY_BUNDLE_VERSION, &pRelatedBundle->qwVersion); + hr = RegReadString(hkBundleId, BURN_REGISTRATION_REGISTRY_BUNDLE_VERSION, &sczBundleVersion); ExitOnFailure(hr, "Failed to read version from registry for bundle: %ls", wzRelatedBundleId); + hr = VerParseVersion(sczBundleVersion, 0, FALSE, &pRelatedBundle->pVersion); + ExitOnFailure(hr, "Failed to parse pseudo bundle version: %ls", sczBundleVersion); + hr = RegReadString(hkBundleId, BURN_REGISTRATION_REGISTRY_BUNDLE_CACHE_PATH, &sczCachePath); ExitOnFailure(hr, "Failed to read cache path from registry for bundle: %ls", wzRelatedBundleId); @@ -423,7 +427,7 @@ static HRESULT LoadRelatedBundleFromKey( dependencyProvider.fImported = TRUE; - hr = FileVersionToStringEx(pRelatedBundle->qwVersion, &dependencyProvider.sczVersion); + hr = StrAllocString(&dependencyProvider.sczVersion, pRelatedBundle->pVersion->sczVersion, 0); ExitOnFailure(hr, "Failed to copy version for bundle: %ls", wzRelatedBundleId); hr = RegReadString(hkBundleId, BURN_REGISTRATION_REGISTRY_BUNDLE_DISPLAY_NAME, &dependencyProvider.sczDisplayName); @@ -452,6 +456,7 @@ static HRESULT LoadRelatedBundleFromKey( LExit: DependencyUninitialize(&dependencyProvider); ReleaseStr(sczCachePath); + ReleaseStr(sczBundleVersion); return hr; } -- cgit v1.2.3-55-g6feb