[Bug 46863] New: If prefix contains "windows" drive information not available in 64-bit prefix
wine-bugs at winehq.org
wine-bugs at winehq.org
Mon Mar 18 20:10:57 CDT 2019
https://bugs.winehq.org/show_bug.cgi?id=46863
Bug ID: 46863
Summary: If prefix contains "windows" drive information not
available in 64-bit prefix
Product: Wine
Version: unspecified
Hardware: x86
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: ntdll
Assignee: wine-bugs at winehq.org
Reporter: darktjm at gmail.com
Distribution: ---
All of my wine prefixes contain a path element called "windows" (actually, I
use c:\windows, always). When I try to run installers or anything else that
wants drive information, I get weird errors, starting with "Could not find DOS
drive for current working directory" and usually ending with installer failures
such as "The drive or UNC share you selected does not exist or is not
accessible". Usually 64-bit games work fine once I figure out a way to install
them anyway, such as direct extraction or 32-bit installs moved over.
I think I have traced it to dlls/ntdll/directory.c:lookup_unix_name. If the
full unix path has "windows" in it, and redirects are possible (true for
64-bit), the stat is skipped. However, if name_len is 0, it assumes
immediately after that the stat took place, and exits with an error ("drive
root doesn't exist"). To fix, I changed the redirect test to add !name_len
(line 2641 in 4.4):
if(!redirect || !name_len || (!strstr(....
A better fix might be to ignore "windows" if it's part of WINEPREFIX, so that
the longer version of the search isn't always necessary. Since I don't know
the code, I don't know how to skip over WINEPREFIX easily. With this fix, I
can finally run installers in 64-bit prefixes, at least.
This bug has plagued me since I first got 64-bit prefixes working at all for
myself, so around 2.0 or earlier. I only now got around to looking into it
because a particular game requires a particular 3rd party installer to work in
64-bit mode, so my usual tricks don't cut it any more.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list