@joebigelow / wix-1 / commits / 8b47ea48

Detect system MSI packages before user managed packages

Rob Mensching committed Apr 12, 2021 at 22:49 UTC 8b47ea48058fb96e2e647b8cfa5d5b939bee35bc
1 file changed +6 -6
src/engine/msiengine.cpp
+6 -6
@@ -522,19 +522,19 @@ extern "C" HRESULT MsiEngineDetectPackage(
522 }
523
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)
527 {
528 - ExitOnFailure(hr, "Failed to get version for product in user unmanaged context: %ls", wzProductCode);
529 - fPerMachine = FALSE;
528 + ExitOnFailure(hr, "Failed to get version for product in machine context: %ls", wzProductCode);
529 + fPerMachine = TRUE;
530 }
531 else
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)
535 {
536 - ExitOnFailure(hr, "Failed to get version for product in machine context: %ls", wzProductCode);
537 - fPerMachine = TRUE;
536 + ExitOnFailure(hr, "Failed to get version for product in user unmanaged context: %ls", wzProductCode);
537 + fPerMachine = FALSE;
538 }
539 else
540 {