http://bugs.winehq.org/show_bug.cgi?id=20465
Summary: Brothers In Arms Hell's Highway : Setup asks for DVD for every .cab file Product: Wine Version: 1.1.32 Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: trivial Priority: P5 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: xvachon@gmail.com
Created an attachment (id=24342) --> (http://bugs.winehq.org/attachment.cgi?id=24342) log
During the file copy process, the setup program asks for the DVD location (eg. Z:\mnt\cdrom...) everytime it has to extract files from a .cab archive. It does not prevent the install process to work, but this behaviour seems quite unusual for a game that uses a single DVD disc. I browsed the web and have not found users whom had this issue under Windows. Console output is attached
http://bugs.winehq.org/show_bug.cgi?id=20465
John Haywards normandy@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |normandy@web.de
--- Comment #1 from John Haywards normandy@web.de 2009-10-25 15:33:13 --- Confirming, same behavior on my system
http://bugs.winehq.org/show_bug.cgi?id=20465
Vitaliy Margolen vitaliy@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1
--- Comment #2 from Vitaliy Margolen vitaliy@kievinfo.com 2009-10-25 16:34:40 --- Confirming per comment 1.
http://bugs.winehq.org/show_bug.cgi?id=20465
--- Comment #3 from Jeff Zaroyko jeffz@jeffz.name 2009-10-25 16:55:33 --- Do you have a drive letter mapping in winecfg with type cdrom configured, then run the installer from that drive letter?
Z:\mnt\cdrom...)
http://bugs.winehq.org/show_bug.cgi?id=20465
--- Comment #4 from John Haywards normandy@web.de 2009-10-26 08:16:11 --- Created an attachment (id=24361) --> (http://bugs.winehq.org/attachment.cgi?id=24361) Dialog popping up
(In reply to comment #3)
Do you have a drive letter mapping in winecfg with type cdrom configured, then run the installer from that drive letter?
Z:\mnt\cdrom...)
Same behavior. Copying to HDD doesn't help either.
http://bugs.winehq.org/show_bug.cgi?id=20465
Wylda wylda@volny.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |wylda@volny.cz
--- Comment #5 from Wylda wylda@volny.cz 2009-10-29 05:23:06 ---
Hi, based on console log i guess, that this could be duplicate of bug 20233. Could you retest with wine 1.1.15? If it works, then this is duplicate.
http://bugs.winehq.org/show_bug.cgi?id=20465
--- Comment #6 from Xavier Vachon xvachon@gmail.com 2010-11-21 15:09:27 CST --- Still a bug in current git (1.3.7)
http://bugs.winehq.org/show_bug.cgi?id=20465
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Component|-unknown |setupapi Summary|Brothers In Arms Hell's |Brothers In Arms Hell's |Highway : Setup asks for |Highway : Setup asks for |DVD for every .cab file |DVD for every .cab file | |(SetupPromptForDiskA/W | |should only show a dialog | |if the file doesn't exist)
--- Comment #7 from Anastasius Focht focht@gmx.net 2012-05-12 05:48:26 CDT --- Hello,
confirming.
Relevant trace log snippet with builtin:
WINEDEBUG=+tid,+seh,+relay,+setupapi wine "e:\setup.exe" >>log.txt 2>&1
--- snip --- 0025:Call KERNEL32.LoadLibraryExA(00409818 "C:\users\focht\Temp\nsg8f7.tmp\CABSetup.dll",00000000,00000008) ret=00401f92 ... 0025:Ret PE DLL (proc=0x100038c4,module=0x10000000 L"CABSetup.dll",reason=PROCESS_ATTACH,res=(nil)) retval=1 0025:Ret KERNEL32.LoadLibraryExA() retval=10000000 ret=00401f92 ... 0025:Call setupapi.SetupPromptForDiskA(00000000,100046ac "Setup - Files Needed",0019a770 "Disk 1",0064e628 "E:\",0019a668 "main2.cab",00000000,00000308,0064cdd4,00000104,00000000) ret=10002b3b 0025:trace:setupapi:SetupPromptForDiskA (nil), "Setup - Files Needed", "Disk 1", "E:\", "main2.cab", (null), 0x00000308, 0x64cdd4, 260, (nil) ... 0025:trace:setupapi:SetupPromptForDiskW (nil), L"Setup - Files Needed", L"Disk 1", L"E:\", L"main2.cab", (null), 0x00000308, 0x64ca70, 260, (nil) 0025:Call user32.DialogBoxParamW(7d810000,000003e9,00000000,7d82f916,0064c9c8) ret=7d82fe81 ... --- snip ---
Relevant trace log snippet with native override:
WINEDEBUG=+tid,+seh,+relay,+snoop,+setupapi
--- snip --- 0029:Call KERNEL32.WideCharToMultiByte(00000000,00000000,0072a5b0 L"E:\",00000004,00726c08,00000008,00000000,00000000) ret=778fa41d 0029:Ret KERNEL32.WideCharToMultiByte() retval=00000004 ret=778fa41d ... 0029:Call KERNEL32.WideCharToMultiByte(00000000,00000000,0072a0e8 L"main2.cab",0000000a,00726c20,00000014,00000000,00000000) ret=778fa41d 0029:Ret KERNEL32.WideCharToMultiByte() retval=0000000a ret=778fa41d ... 0029:Call KERNEL32.WideCharToMultiByte(00000000,00000000,0072a108 L"Disk 1",00000007,00726c40,0000000e,00000000,00000000) ret=778fa41d 0029:Ret KERNEL32.WideCharToMultiByte() retval=00000007 ret=778fa41d ... 0029:CALL SETUPAPI.SetupPromptForDiskA(<unknown, check return>) ret=10002b3b ... 0029:Call KERNEL32.GetDriveTypeW(0067caf8 L"E:\") ret=7795ad2f 0029:Ret KERNEL32.GetDriveTypeW() retval=00000005 ret=7795ad2f ... 0029:Call KERNEL32.SetErrorMode(00000001) ret=77900532 0029:Ret KERNEL32.SetErrorMode() retval=00008001 ret=77900532 0029:Call KERNEL32.FindFirstFileW(007273f0 L"E:\main2.cab",0067c3f8) ret=77900546 0029:Ret KERNEL32.FindFirstFileW() retval=0072c1f8 ret=77900546 0029:Call KERNEL32.FindClose(0072c1f8) ret=77900556 0029:Ret KERNEL32.FindClose() retval=00000001 ret=77900556 0029:Call KERNEL32.SetErrorMode(00008001) ret=77900571 0029:Ret KERNEL32.SetErrorMode() retval=00000001 ret=77900571 ... 0029:RET SETUPAPI.SetupPromptForDiskA(00000000,100046ac,00726c40,0067e628,00726c20,00000000,00000308,0067d1a0,00000104,00000000) retval=00000000 ret=10002b3b ... --- snip ---
It seems SetupPromptForDiskA/W needs to check for the existence of the file first before putting up a dialog (makes sense). If the file exists a dialog is newer shown so the SetupPromptForDisk() is effectively a no-op here.
Source: http://source.winehq.org/git/wine.git/blob/750463f21c77b7522c2a5b85fb98ecb76...
--- snip --- 234 UINT WINAPI SetupPromptForDiskW(HWND hwndParent, PCWSTR DialogTitle, PCWSTR DiskName, 235 PCWSTR PathToSource, PCWSTR FileSought, PCWSTR TagFile, DWORD DiskPromptStyle, 236 PWSTR PathBuffer, DWORD PathBufferSize, PDWORD PathRequiredSize) 237 { 238 struct promptdisk_params params; 239 UINT ret; 240 241 TRACE("%p, %s, %s, %s, %s, %s, 0x%08x, %p, %d, %p\n", hwndParent, debugstr_w(DialogTitle), 242 debugstr_w(DiskName), debugstr_w(PathToSource), debugstr_w(FileSought), 243 debugstr_w(TagFile), DiskPromptStyle, PathBuffer, PathBufferSize, 244 PathRequiredSize); 245 246 if(!FileSought) 247 { 248 SetLastError(ERROR_INVALID_PARAMETER); 249 return DPROMPT_CANCEL; 250 } 251 params.DialogTitle = DialogTitle; 252 params.DiskName = DiskName; 253 params.PathToSource = PathToSource; 254 params.FileSought = FileSought; 255 params.TagFile = TagFile; 256 params.DiskPromptStyle = DiskPromptStyle; 257 params.PathBuffer = PathBuffer; 258 params.PathBufferSize = PathBufferSize; 259 params.PathRequiredSize = PathRequiredSize; 260 261 ret = DialogBoxParamW(SETUPAPI_hInstance, MAKEINTRESOURCEW(IDPROMPTFORDISK), 262 hwndParent, promptdisk_proc, (LPARAM)¶ms); 263 264 if(ret == DPROMPT_CANCEL) 265 SetLastError(ERROR_CANCELLED); 266 return ret; 267 } --- snip ---
$ wine --version wine-1.5.4
Regards
http://bugs.winehq.org/show_bug.cgi?id=20465
Andrey Gusev andrey.goosev@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |andrey.goosev@gmail.com
--- Comment #8 from Andrey Gusev andrey.goosev@gmail.com 2013-12-03 07:35:58 CST --- Confirming. Still in 1.7.7
https://bugs.winehq.org/show_bug.cgi?id=20465
hanska2@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hanska2@luukku.com
--- Comment #9 from hanska2@luukku.com --- Code seems to be unchanged by quick look.
wine 1.7.27
https://bugs.winehq.org/show_bug.cgi?id=20465
Michael Müller michael@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |michael@fds-team.de
--- Comment #10 from Michael Müller michael@fds-team.de --- Hi,
I wrote a patch to add support for the IDF_CHECKFIRST flag, but I do not own the game, so could you guys please test whether it solves the issue?
The patch (+ test) is available at: https://github.com/compholio/wine-compholio/tree/master/patches/setupapi-Set...
Regards, Michael
https://bugs.winehq.org/show_bug.cgi?id=20465
--- Comment #11 from Wylda wylda@volny.cz ---
Hi Michael, yes that patch fixes this bug. I did not apply the test, as it is unrelated to me ;)
Thank you for taking time and fixing this.
https://bugs.winehq.org/show_bug.cgi?id=20465
Wylda wylda@volny.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
--- Comment #12 from Wylda wylda@volny.cz --- Is there anything more to test?
I noticed that this patch is still sitting in staging without even trying to send to wine-patches.
https://bugs.winehq.org/show_bug.cgi?id=20465
Michael Müller michael@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |STAGED CC| |sebastian@fds-team.de Staged patchset| |https://github.com/wine-com | |pholio/wine-staging/tree/ma | |ster/patches/setupapi-Setup | |PromptForDisk
https://bugs.winehq.org/show_bug.cgi?id=20465
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Staged patchset|https://github.com/wine-com |https://github.com/wine-sta |pholio/wine-staging/tree/ma |ging/wine-staging/tree/mast |ster/patches/setupapi-Setup |er/patches/setupapi-SetupPr |PromptForDisk |omptForDisk Keywords| |Installer
--- Comment #13 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting, obviously still present.
$ wine --version wine-3.3
Regards
https://bugs.winehq.org/show_bug.cgi?id=20465
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Fixed by SHA1| |0422c6c4d0224c4e619771a0d22 | |f4a5a1575f3f3 Status|STAGED |RESOLVED
--- Comment #14 from Gijs Vermeulen gijsvrm@gmail.com --- Staging patches have been committed as:
0422c6c4d0224c4e619771a0d22f4a5a1575f3f3 14d782d18ac61baac2fc479c2bb19fb45cc98883
Marking FIXED.
https://bugs.winehq.org/show_bug.cgi?id=20465
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #15 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 5.0-rc6.
https://bugs.winehq.org/show_bug.cgi?id=20465
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |4.0.x
https://bugs.winehq.org/show_bug.cgi?id=20465
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|4.0.x |---
--- Comment #16 from Michael Stefaniuc mstefani@winehq.org --- Removing the 4.0.x milestone from bug fixes included in 4.0.4.