From 240b663ad5fc94ed6d19c966b5c9105a176ecf40 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Mon, 8 Aug 2022 18:02:15 -0500 Subject: Skip logging errors in some places when they are due to missing files or registry keys or values. Related to 6696 --- src/burn/engine/bundlepackageengine.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'src/burn/engine/bundlepackageengine.cpp') diff --git a/src/burn/engine/bundlepackageengine.cpp b/src/burn/engine/bundlepackageengine.cpp index dafe1967..8896fdd0 100644 --- a/src/burn/engine/bundlepackageengine.cpp +++ b/src/burn/engine/bundlepackageengine.cpp @@ -1049,6 +1049,7 @@ static HRESULT DetectArpEntry( { HRESULT hr = S_OK; HKEY hKey = NULL; + BOOL fExists = FALSE; HKEY hkRoot = pPackage->fPerMachine ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER; REG_KEY_BITNESS keyBitness = pPackage->Bundle.fWin64 ? REG_KEY_64BIT : REG_KEY_32BIT; @@ -1065,20 +1066,17 @@ static HRESULT DetectArpEntry( } hr = RegOpenEx(hkRoot, pPackage->Bundle.sczArpKeyPath, KEY_READ, keyBitness, &hKey); - if (HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND) == hr || HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND) == hr) + ExitOnPathFailure(hr, fExists, "Failed to open registry key: %ls.", pPackage->Bundle.sczArpKeyPath); + + if (!fExists) { - ExitFunction1(hr = S_OK); + ExitFunction(); } - ExitOnFailure(hr, "Failed to open registry key: %ls.", pPackage->Bundle.sczArpKeyPath); *pfRegistered = TRUE; hr = RegReadString(hKey, L"QuietUninstallString", psczQuietUninstallString); - if (HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND) == hr) - { - hr = S_OK; - } - ExitOnFailure(hr, "Failed to read QuietUninstallString."); + ExitOnPathFailure(hr, fExists, "Failed to read QuietUninstallString."); LExit: ReleaseRegKey(hKey); -- cgit v1.2.3-55-g6feb