[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