WINECFG: use directory harddiskvolume1 for mapping drive C instead of drive_c

Hans Leidekker hans at it.vu.nl
Sun Mar 26 10:26:28 CST 2006


Any word on why this patch wasn't applied? There's a test marked todo_wine
by Stefan Leichter that demonstrates this behaviour. And here's the relevant
part of a relay log:

 0009:Call kernel32.QueryDosDeviceA(7fb0fe68 "a:",7fb0f8c8,00000400) ret=0100503a
 0009:Ret  kernel32.QueryDosDeviceA() retval=00000000 ret=0100503a
 0009:Call kernel32.QueryDosDeviceA(7fb0fe68 "b:",7fb0f8c8,00000400) ret=0100503a
 0009:Ret  kernel32.QueryDosDeviceA() retval=00000000 ret=0100503a
 0009:Call kernel32.QueryDosDeviceA(7fb0fe68 "c:",7fb0f8c8,00000400) ret=0100503a
 0009:Ret  kernel32.QueryDosDeviceA() retval=0000000c ret=0100503a
 0009:Call ntdll._strlwr(7fb0f8c8 "..\\drive_c") ret=01005053
 0009:Ret  ntdll._strlwr() retval=7fb0f8c8 ret=01005053
 0009:Call ntdll.strstr(7fb0f8c8 "..\\drive_c",01002638 "harddisk") ret=01005069
 0009:Ret  ntdll.strstr() retval=00000000 ret=01005069
 0009:Call ntdll.strstr(7fb0f8c8 "..\\drive_c",01002630 "ramdisk") ret=0100507d
 0009:Ret  ntdll.strstr() retval=00000000 ret=0100507d
 0009:Call kernel32.QueryDosDeviceA(7fb0fe68 "d:",7fb0f8c8,00000400) ret=0100503a
 ...

I know this affects the IE7 and MSI 3.1 installer, but probably more.

------------------

I've seen installers from Microsoft call QueryDosDevice on the whole
alphabet and search any returned object name for the substrings "harddisk"
and "ramdisk". On Wine they normally won't find any and quit with the
following error:

  "Unable to find a volume for file extraction"

QueryDosDevice on Wine returns the filename pointed to by the drive link
beneath the dosdevices directory. In a default Wine installation this
is ../drive_c. So a simple fix for this problem is to use the a different
name for that directory, for example the name used for the first harddisk
in the NT object namespace: harddiskvolume1.

 -Hans

Changelog
  Use directory harddiskvolume1 for mapping drive C instead of drive_c.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: winecfg_harddiskvolume1.diff
Type: text/x-diff
Size: 2897 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20060326/2e6a9b41/winecfg_harddiskvolume1.diff


More information about the wine-devel mailing list