From 8b47ea48058fb96e2e647b8cfa5d5b939bee35bc Mon Sep 17 00:00:00 2001 From: Rob Mensching <rob@firegiant.com> Date: Mon, 12 Apr 2021 22:49:25 -0700 Subject: Detect system MSI packages before user managed packages --- src/engine/msiengine.cpp | 12 ++++++------ 1 file 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( } // get product version - hr = WiuGetProductInfoEx(wzProductCode, NULL, MSIINSTALLCONTEXT_USERUNMANAGED, INSTALLPROPERTY_VERSIONSTRING, &sczInstalledVersion); + hr = WiuGetProductInfoEx(wzProductCode, NULL, MSIINSTALLCONTEXT_MACHINE, INSTALLPROPERTY_VERSIONSTRING, &sczInstalledVersion); if (HRESULT_FROM_WIN32(ERROR_UNKNOWN_PRODUCT) != hr && HRESULT_FROM_WIN32(ERROR_UNKNOWN_PROPERTY) != hr) { - ExitOnFailure(hr, "Failed to get version for product in user unmanaged context: %ls", wzProductCode); - fPerMachine = FALSE; + ExitOnFailure(hr, "Failed to get version for product in machine context: %ls", wzProductCode); + fPerMachine = TRUE; } else { - hr = WiuGetProductInfoEx(wzProductCode, NULL, MSIINSTALLCONTEXT_MACHINE, INSTALLPROPERTY_VERSIONSTRING, &sczInstalledVersion); + hr = WiuGetProductInfoEx(wzProductCode, NULL, MSIINSTALLCONTEXT_USERUNMANAGED, INSTALLPROPERTY_VERSIONSTRING, &sczInstalledVersion); if (HRESULT_FROM_WIN32(ERROR_UNKNOWN_PRODUCT) != hr && HRESULT_FROM_WIN32(ERROR_UNKNOWN_PROPERTY) != hr) { - ExitOnFailure(hr, "Failed to get version for product in machine context: %ls", wzProductCode); - fPerMachine = TRUE; + ExitOnFailure(hr, "Failed to get version for product in user unmanaged context: %ls", wzProductCode); + fPerMachine = FALSE; } else { -- cgit v1.2.3-55-g6feb