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/libs/dutil/WixToolset.DUtil/fileutil.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/libs/dutil/WixToolset.DUtil/fileutil.cpp') diff --git a/src/libs/dutil/WixToolset.DUtil/fileutil.cpp b/src/libs/dutil/WixToolset.DUtil/fileutil.cpp index ac407916..a9369ea1 100644 --- a/src/libs/dutil/WixToolset.DUtil/fileutil.cpp +++ b/src/libs/dutil/WixToolset.DUtil/fileutil.cpp @@ -443,6 +443,7 @@ extern "C" HRESULT DAPI FileSize( ) { HRESULT hr = S_OK; + DWORD er = ERROR_SUCCESS; HANDLE hFile = INVALID_HANDLE_VALUE; FileExitOnNull(pwzFileName, hr, E_INVALIDARG, "Attempted to check filename, but no filename was provided"); @@ -450,6 +451,11 @@ extern "C" HRESULT DAPI FileSize( hFile = ::CreateFileW(pwzFileName, FILE_READ_ATTRIBUTES, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); if (INVALID_HANDLE_VALUE == hFile) { + er = ::GetLastError(); + if (ERROR_PATH_NOT_FOUND == er || ERROR_FILE_NOT_FOUND == er) + { + ExitFunction1(hr = HRESULT_FROM_WIN32(er)); + } FileExitWithLastError(hr, "Failed to open file %ls while checking file size", pwzFileName); } @@ -617,11 +623,11 @@ extern "C" HRESULT DAPI FileReadPartialEx( if (INVALID_HANDLE_VALUE == hFile) { er = ::GetLastError(); - if (E_FILENOTFOUND == HRESULT_FROM_WIN32(er)) + if (ERROR_PATH_NOT_FOUND == er || ERROR_FILE_NOT_FOUND == er) { - ExitFunction1(hr = E_FILENOTFOUND); + ExitFunction1(hr = HRESULT_FROM_WIN32(er)); } - FileExitOnWin32Error(er, hr, "Failed to open file: %ls", wzSrcPath); + FileExitWithLastError(hr, "Failed to open file: %ls", wzSrcPath); } if (!::GetFileSizeEx(hFile, &liFileSize)) -- cgit v1.2.3-55-g6feb