diff --git a/dlls/msi/msi.c b/dlls/msi/msi.c index 29c639c0698..11d1174a919 100644 --- a/dlls/msi/msi.c +++ b/dlls/msi/msi.c @@ -1775,12 +1775,12 @@ UINT WINAPI MsiEnableLogW(DWORD dwLogMode, LPCWSTR szLogFile, DWORD attributes) lstrcpyW(gszLogFile,szLogFile); if (!(attributes & INSTALLLOGATTRIBUTES_APPEND)) DeleteFileW(szLogFile); - file = CreateFileW(szLogFile, GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, - FILE_ATTRIBUTE_NORMAL, NULL); + file = CreateFileW(szLogFile, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, + FILE_ATTRIBUTE_NORMAL, NULL); if (file != INVALID_HANDLE_VALUE) CloseHandle(file); else - ERR("Unable to enable log %s\n",debugstr_w(szLogFile)); + ERR("Unable to enable log %s (%u)\n", debugstr_w(szLogFile), GetLastError()); } else gszLogFile[0] = '\0'; diff --git a/dlls/msi/package.c b/dlls/msi/package.c index ac11e69dd23..8fcf6ff714c 100644 --- a/dlls/msi/package.c +++ b/dlls/msi/package.c @@ -1773,11 +1773,10 @@ INT MSI_ProcessMessage( MSIPACKAGE *package, INSTALLMESSAGE eMessageType, MsiCloseHandle( rec ); } - if ((!rc) && (gszLogFile[0]) && !((eMessageType & 0xff000000) == - INSTALLMESSAGE_PROGRESS)) + if (!rc && gszLogFile[0] && (eMessageType & 0xff000000) != INSTALLMESSAGE_PROGRESS) { DWORD write; - HANDLE log_file = CreateFileW(gszLogFile,GENERIC_WRITE, 0, NULL, + HANDLE log_file = CreateFileW(gszLogFile, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (log_file != INVALID_HANDLE_VALUE)