diff options
| author | Bob Arnson <bob@firegiant.com> | 2026-02-10 20:33:03 -0500 |
|---|---|---|
| committer | Bob Arnson <github@bobs.org> | 2026-02-11 13:21:20 -0500 |
| commit | de80ff1102a1b34e430bbc718fe65a42bab196cf (patch) | |
| tree | 1eb70c137c84ae7c9d8c73370c7e39b4cf76a377 /src/burn/engine/msiengine.cpp | |
| parent | cd5f73d939b6d91ce3d9efcc5b8a800542041698 (diff) | |
| download | wix-de80ff1102a1b34e430bbc718fe65a42bab196cf.tar.gz wix-de80ff1102a1b34e430bbc718fe65a42bab196cf.tar.bz2 wix-de80ff1102a1b34e430bbc718fe65a42bab196cf.zip | |
- Fixes https://github.com/wixtoolset/issues/issues/9232
- Fixes https://github.com/wixtoolset/issues/issues/9240
Diffstat (limited to 'src/burn/engine/msiengine.cpp')
| -rw-r--r-- | src/burn/engine/msiengine.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/burn/engine/msiengine.cpp b/src/burn/engine/msiengine.cpp index 11bb8a0e..66e6b8fa 100644 --- a/src/burn/engine/msiengine.cpp +++ b/src/burn/engine/msiengine.cpp | |||
| @@ -457,14 +457,24 @@ extern "C" HRESULT MsiEngineDetectPackage( | |||
| 457 | if (BOOTSTRAPPER_PACKAGE_SCOPE_PER_MACHINE_OR_PER_USER == pPackage->scope || BOOTSTRAPPER_PACKAGE_SCOPE_PER_USER_OR_PER_MACHINE == pPackage->scope) | 457 | if (BOOTSTRAPPER_PACKAGE_SCOPE_PER_MACHINE_OR_PER_USER == pPackage->scope || BOOTSTRAPPER_PACKAGE_SCOPE_PER_USER_OR_PER_MACHINE == pPackage->scope) |
| 458 | { | 458 | { |
| 459 | hr = WiuGetProductInfoEx(pPackage->Msi.sczProductCode, NULL, MSIINSTALLCONTEXT_MACHINE, INSTALLPROPERTY_VERSIONSTRING, &sczInstalledVersion); | 459 | hr = WiuGetProductInfoEx(pPackage->Msi.sczProductCode, NULL, MSIINSTALLCONTEXT_MACHINE, INSTALLPROPERTY_VERSIONSTRING, &sczInstalledVersion); |
| 460 | if (FAILED(hr)) | 460 | if (SUCCEEDED(hr)) |
| 461 | { | ||
| 462 | pPackage->fDetectedPerMachine = TRUE; | ||
| 463 | } | ||
| 464 | else | ||
| 461 | { | 465 | { |
| 462 | hr = WiuGetProductInfoEx(pPackage->Msi.sczProductCode, NULL, MSIINSTALLCONTEXT_USERUNMANAGED, INSTALLPROPERTY_VERSIONSTRING, &sczInstalledVersion); | 466 | hr = WiuGetProductInfoEx(pPackage->Msi.sczProductCode, NULL, MSIINSTALLCONTEXT_USERUNMANAGED, INSTALLPROPERTY_VERSIONSTRING, &sczInstalledVersion); |
| 467 | if (SUCCEEDED(hr)) | ||
| 468 | { | ||
| 469 | pPackage->fDetectedPerMachine = FALSE; | ||
| 470 | } | ||
| 463 | } | 471 | } |
| 464 | } | 472 | } |
| 465 | else | 473 | else |
| 466 | { | 474 | { |
| 467 | hr = WiuGetProductInfoEx(pPackage->Msi.sczProductCode, NULL, pPackage->scope == BOOTSTRAPPER_PACKAGE_SCOPE_PER_MACHINE ? MSIINSTALLCONTEXT_MACHINE : MSIINSTALLCONTEXT_USERUNMANAGED, INSTALLPROPERTY_VERSIONSTRING, &sczInstalledVersion); | 475 | pPackage->fDetectedPerMachine = BOOTSTRAPPER_PACKAGE_SCOPE_PER_MACHINE == pPackage->scope; |
| 476 | |||
| 477 | hr = WiuGetProductInfoEx(pPackage->Msi.sczProductCode, NULL, pPackage->fDetectedPerMachine ? MSIINSTALLCONTEXT_MACHINE : MSIINSTALLCONTEXT_USERUNMANAGED, INSTALLPROPERTY_VERSIONSTRING, &sczInstalledVersion); | ||
| 468 | } | 478 | } |
| 469 | if (SUCCEEDED(hr)) | 479 | if (SUCCEEDED(hr)) |
| 470 | { | 480 | { |
