mirror of
https://github.com/reactos/reactos.git
synced 2025-02-28 19:32:59 +00:00
[SETUPAPI] Add a temporary HACK for source media resolution in SetupCommitFileQueueW()
Emit an error line in the debug log and break out of the resolution loop. Don't use a message box for now, since the problem happens also during 2nd-stage setup, for which an automated handling of such msgbox in our test bots would not be possible. We now get the following during 2nd-stage: ``` [...] (base\services\umpnpmgr\install.c:118) Installing: ACPI\ACPI0003\0 err:(dll\win32\setupapi\queue.c:1696) ** Could not find source install media! ** copy error 0 L"C:\\ReactOS\\inf\\cmbatt.sys" -> L"C:\\ReactOS\\System32\\drivers\\cmbatt.sys" err:(dll\win32\setupapi\queue.c:1696) ** Could not find source install media! ** copy error 0 L"C:\\ReactOS\\inf\\battc.sys" -> L"C:\\ReactOS\\System32\\drivers\\battc.sys" err:(dll\win32\setupapi\queue.c:1696) ** Could not find source install media! ** copy error 0 L"C:\\ReactOS\\inf\\compbatt.sys" -> L"C:\\ReactOS\\System32\\drivers\\compbatt.sys" [...] err:(dll\win32\setupapi\queue.c:1696) ** Could not find source install media! ** copy error 0 L"C:\\ReactOS\\inf\\" -> L"C:\\ReactOS\\System32\\drivers\\cdrom.sys" [...] err:(dll\win32\setupapi\queue.c:1696) ** Could not find source install media! ** copy error 0 L"C:\\ReactOS\\inf\\" -> L"C:\\ReactOS\\System32\\drivers\\disk.sys" ``` (Note that the source paths without any file, in the last two example lines, is strange...) --- The previous Wine commit, that implements install source media resolution feature, causes ReactOS to apparently hang during the 2nd-stage setup. This is caused by an infinite "loop" while trying to resolve the install source for our drivers we "install" during 2nd-stage setup. Testing by replacing our setupapi.dll with Windows', reveals that this is basically what's happening, except that the dialog for finding the install media shows up now. The "infinite loop" would effectively be obtained by pressing OK, failing, pressing OK again, etc. indefinitely. The only difference is that Wine's setupapi.dll doesn't have any dialog for that, so nothing shows up and it just infinitely loops there. (The dialog would be the equivalent to the IDPROMPTFORDISK one.) Now, the reason why this happens in ReactOS is because we use .inf files that derive their installation source from a layout.inf file... that we do not support (ours is a stub). Further, Wine's setupapi doesn't support LayoutInf as well.
This commit is contained in:
parent
e9c8352803
commit
07b9b00664
1 changed files with 5 additions and 0 deletions
|
@ -1692,6 +1692,11 @@ BOOL WINAPI SetupCommitFileQueueW( HWND owner, HSPFILEQ handle, PSP_FILE_CALLBAC
|
|||
break;
|
||||
#endif
|
||||
}
|
||||
#if defined(__REACTOS__) // TEMP HACK!
|
||||
ERR( "** Could not find source install media! ** copy error %d %s -> %s\n",
|
||||
paths.Win32Error, debugstr_w(paths.Source), debugstr_w(paths.Target) );
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Reference in a new issue