https://bugs.winehq.org/show_bug.cgi?id=44005
--- Comment #9 from Alexandre Julliard julliard@winehq.org --- (In reply to Zebediah Figura from comment #7)
(In reply to Alexandre Julliard from comment #6)
The fakedll shouldn't get registered again once native is installed over it.
It does, because setupapi bypasses the DLL override code completely. (Even using LOAD_LIBRARY_AS_DATAFILE wouldn't work, because that still bypasses the DLL override code).
That's why the file has to be replaced. Dll overrides can be per-application, and can be changed at any time, they can't be relied on for prefix updates.
In general it shouldn't make any difference because the registrations should be compatible between builtin and native. If they aren't it's a bug in builtin.