Incompatibility in Kernel32

Dmitry Timoshkov dmitry at baikal.ru
Thu Jun 21 02:03:47 CDT 2012


"robert.van.herk at serioustoys.com" <robert.van.herk at 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?

-- 
Dmitry.



More information about the wine-devel mailing list