https://bugs.winehq.org/show_bug.cgi?id=39378
Bug ID: 39378 Summary: winecfg and ntdll disagree upon the proper place for DllOverrides key Product: Wine Version: 1.7.33 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: programs Assignee: wine-bugs@winehq.org Reporter: galtgendo@o2.pl Distribution: ---
I've run into this problem as I've tried to run a 32bit program in a 64bit prefix that needed native msvcr120.dll due to missing (at very least) some strto* functions.
When I've set the override via winecfg, they've got ignored till I've removed builtin from /usr/lib32/wine.
Surprisingly, environment override *did* work without that step, so I've dug in deeper - first via WINEDEBUG=loaddll, then WINEDEBUG="module,reg".
The conclusion was:
winecfg creates [Software\Wine\AppDefaults\foo\DllOverrides] keys ntdll looks at [Software\Wow6432Node\Wine\AppDefaults\foo\DllOverrides] keys
Obviously, ntdll trumps winecfg every time.
Correcting winecfg keys makes things work, but obviously, the entries disappear from winecfg.
https://bugs.winehq.org/show_bug.cgi?id=39378
Rafał Mużyło galtgendo@o2.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|1.7.33 |1.7.51
https://bugs.winehq.org/show_bug.cgi?id=39378
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sebastian@fds-team.de
--- Comment #1 from Sebastian Lackner sebastian@fds-team.de --- Based on your description it is the same issue as described in https://github.com/wine-compholio/wine-staging/issues/270:
--- quote --- When starting with a fresh prefix, then 32-bit and 64-bit overrides are still identical, and changing entries in winecfg is sufficient. After the prefix corruption (how to trigger it?) the existence of a "Wow6432Node" hides the whole original 64-bit registry dll overrides key. --- quote ---
The proposed patch http://ix.io/fJE was confirmed to help for one user, however it may also just hide the problem.
https://bugs.winehq.org/show_bug.cgi?id=39378
--- Comment #2 from Rafał Mużyło galtgendo@o2.pl --- (In reply to Sebastian Lackner from comment #1)
The proposed patch http://ix.io/fJE was confirmed to help for one user, however it may also just hide the problem.
Given the mmdevapi noted at the end of that issue, the patch does look like it should work, though there are at least two questions:
- how would that affect pure 32bit prefixes ? - does winecfg need a separate fix anyway ?
https://bugs.winehq.org/show_bug.cgi?id=39378
--- Comment #3 from Nikolay Sivov bunglehead@gmail.com --- If the issue is that 64bit winecfg doesn't write 32bit registry keys, then yes. But I'm not sure we necessary want those to be synchronized, because you may want to have different set of overrides for 32 vs 64 programs.
https://bugs.winehq.org/show_bug.cgi?id=39378
--- Comment #4 from Hans Leidekker hans@meelstraat.net --- I think the consensus was that Wow64 prefixes should always be managed with 64-bit programs.
https://bugs.winehq.org/show_bug.cgi?id=39378
super_man@post.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |super_man@post.com
https://bugs.winehq.org/show_bug.cgi?id=39378
--- Comment #5 from Rafał Mużyło galtgendo@o2.pl --- I find it somewhat amusing that Zeb stumbled upon this yesterday and considered it a *new* problem...