"robert.van.herk@serioustoys.com" robert.van.herk@serioustoys.com wrote:
I feel hesitation towards starting to hack in kernel32 myself. Though this bug seems to be blocking me to implement msi.dll completely compatible with the MS implementation...
You shouldn't look how native msi.dll behaves internally.
Shall I file a bug report?
Try to add a test case to dlls/kenel32/tests/file.c,test_file_sharing().
HANDLE h2 = CreateFileA(filename, GENERIC_READ, FILE_SHARE_DELETE | FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, 0); assert (h2 != 0);
if (!DeleteFile(filename)) { r = GetLastError(); fprintf(stderr, "This only happens in Wine. I got error: %d\n", r); assert(0); }
Is there any reason that you call DeleteFile() on a still being opened file?