http://bugs.winehq.org/show_bug.cgi?id=22965
Summary: Battlefield Bad Company 2 can run from cd-rom, but not from iso Product: Wine Version: 1.2-rc2 Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: kernel32 AssignedTo: wine-bugs@winehq.org ReportedBy: dank@kegel.com
(This reminds me of bug 22428.)
http://appdb.winehq.org/objectManager.php?sClass=version&iId=19520 says you need -o uid=XXX,unhide. You can install from an .iso mounted with that (and ro,loop), but you can't start the game, it says please insert disc. Pointing d: and d:: at a real mounted disc works past it. A +relay,+file log says
0009:Call KERNEL32.GetVolumeInformationA(02f9d290 "I:\",02f9cce0,00000400,02f9d22c,02f9d230,02f9d228,02f9cae0,00000200) ret=023aaed3 ... fixme:ntdll:server_ioctl_file Unsupported ioctl 24000 (device=2 access=1 func=0 method=0) ... 0009:Ret KERNEL32.GetVolumeInformationA() retval=00000001 ret=023aaed3
It then does
0009:Call KERNEL32.QueryDosDeviceA(02f9cce0 "I:",02f9cae0,00000200) ret=023ab4b1 0009:Ret KERNEL32.QueryDosDeviceA() retval=00000019 ret=023ab4b1 0009:Call KERNEL32.CreateFileA(02f9cce0 "\\.\HarddiskVolume2",c0000000,00000003,00000000,00000003,00000000,00000000) ret=0236c2b2 trace:file:CreateFileW L"\\.\HarddiskVolume2" GENERIC_READ GENERIC_WRITE FILE_SHARE_READ FILE_SHARE_WRITE creation 3 attributes 0x0 trace:file:RtlDosPathNameToNtPathName_U (L"\\.\HarddiskVolume2",0x2f9c5c0,(nil),(nil)) trace:file:RtlGetFullPathName_U (L"\\.\HarddiskVolume2" 520 0x2f9c354 (nil)) warn:file:CreateFileW Unable to create file L"\\.\HarddiskVolume2" (status c0000034) trace:file:CreateFileW returning 0xffffffff 0009:Ret KERNEL32.CreateFileA() retval=ffffffff ret=0236c2b2
a bunch of times. Looks like it's trying to access the iso but failing (do we not support \\.\HarddiskVolume2 for mounted isos?).