aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2021-04-12 22:49:25 -0700
committerRob Mensching <rob@firegiant.com>2021-04-14 12:15:52 -0700
commit8b47ea48058fb96e2e647b8cfa5d5b939bee35bc (patch)
tree73685984d4c1f6c0453fd3f2fb3b61216eeda7ec
parent74c40b3fddc937d1884c82355f9fed8a5481ea4a (diff)
downloadwix-8b47ea48058fb96e2e647b8cfa5d5b939bee35bc.tar.gz
wix-8b47ea48058fb96e2e647b8cfa5d5b939bee35bc.tar.bz2
wix-8b47ea48058fb96e2e647b8cfa5d5b939bee35bc.zip
Detect system MSI packages before user managed packages
-rw-r--r--src/engine/msiengine.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/engine/msiengine.cpp b/src/engine/msiengine.cpp
index 6c5b760b..4f6062ea 100644
--- a/src/engine/msiengine.cpp
+++ b/src/engine/msiengine.cpp
@@ -522,19 +522,19 @@ extern "C" HRESULT MsiEngineDetectPackage(
522 } 522 }
523 523
524 // get product version 524 // get product version
525 hr = WiuGetProductInfoEx(wzProductCode, NULL, MSIINSTALLCONTEXT_USERUNMANAGED, INSTALLPROPERTY_VERSIONSTRING, &sczInstalledVersion); 525 hr = WiuGetProductInfoEx(wzProductCode, NULL, MSIINSTALLCONTEXT_MACHINE, INSTALLPROPERTY_VERSIONSTRING, &sczInstalledVersion);
526 if (HRESULT_FROM_WIN32(ERROR_UNKNOWN_PRODUCT) != hr && HRESULT_FROM_WIN32(ERROR_UNKNOWN_PROPERTY) != hr) 526 if (HRESULT_FROM_WIN32(ERROR_UNKNOWN_PRODUCT) != hr && HRESULT_FROM_WIN32(ERROR_UNKNOWN_PROPERTY) != hr)
527 { 527 {
528 ExitOnFailure(hr, "Failed to get version for product in user unmanaged context: %ls", wzProductCode); 528 ExitOnFailure(hr, "Failed to get version for product in machine context: %ls", wzProductCode);
529 fPerMachine = FALSE; 529 fPerMachine = TRUE;
530 } 530 }
531 else 531 else
532 { 532 {
533 hr = WiuGetProductInfoEx(wzProductCode, NULL, MSIINSTALLCONTEXT_MACHINE, INSTALLPROPERTY_VERSIONSTRING, &sczInstalledVersion); 533 hr = WiuGetProductInfoEx(wzProductCode, NULL, MSIINSTALLCONTEXT_USERUNMANAGED, INSTALLPROPERTY_VERSIONSTRING, &sczInstalledVersion);
534 if (HRESULT_FROM_WIN32(ERROR_UNKNOWN_PRODUCT) != hr && HRESULT_FROM_WIN32(ERROR_UNKNOWN_PROPERTY) != hr) 534 if (HRESULT_FROM_WIN32(ERROR_UNKNOWN_PRODUCT) != hr && HRESULT_FROM_WIN32(ERROR_UNKNOWN_PROPERTY) != hr)
535 { 535 {
536 ExitOnFailure(hr, "Failed to get version for product in machine context: %ls", wzProductCode); 536 ExitOnFailure(hr, "Failed to get version for product in user unmanaged context: %ls", wzProductCode);
537 fPerMachine = TRUE; 537 fPerMachine = FALSE;
538 } 538 }
539 else 539 else
540 { 540 {