1
0
mirror of https://github.com/wine-mirror/wine synced 2024-07-08 03:45:57 +00:00

wineboot: Always attempt setup for all machine types.

Without this, wineboot would bail out on ARM64 in the case where x86_64 WOW is
not available but i386 is. Leaving an incomplete prefix without any clear error.
This commit is contained in:
Billy Laws 2023-07-03 17:36:35 +01:00 committed by Alexandre Julliard
parent 4021dde40d
commit b233cfb33e

View File

@ -1498,20 +1498,23 @@ static void update_wineprefix( BOOL force )
HWND hwnd = show_wait_window();
for (;;)
{
MSG msg;
DWORD res = MsgWaitForMultipleObjects( 1, &process, FALSE, INFINITE, QS_ALLINPUT );
if (res == WAIT_OBJECT_0)
if (process)
{
MSG msg;
DWORD res = MsgWaitForMultipleObjects( 1, &process, FALSE, INFINITE, QS_ALLINPUT );
if (res != WAIT_OBJECT_0)
{
while (PeekMessageW( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessageW( &msg );
continue;
}
CloseHandle( process );
if (!machines[count]) break;
if (HIWORD(machines[count]) & 4 /* native machine */)
process = start_rundll32( inf_path, L"DefaultInstall", IMAGE_FILE_MACHINE_TARGET_HOST );
else
process = start_rundll32( inf_path, L"Wow64Install", LOWORD(machines[count]) );
count++;
if (!process) break;
}
else while (PeekMessageW( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessageW( &msg );
if (!machines[count]) break;
if (HIWORD(machines[count]) & 4 /* native machine */)
process = start_rundll32( inf_path, L"DefaultInstall", IMAGE_FILE_MACHINE_TARGET_HOST );
else
process = start_rundll32( inf_path, L"Wow64Install", LOWORD(machines[count]) );
count++;
}
DestroyWindow( hwnd );
}