From 3d0cf96f011f4ec5bcda8ad1ab92b4293c6a1690 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Mon, 23 Feb 2009 17:46:50 +0100 Subject: [PATCH] kernel32: Print a nicer error message when 16-bit/DOS apps cannot be launched. --- dlls/kernel32/process.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c index bb8c428b8b9..405bfc7d5b5 100644 --- a/dlls/kernel32/process.c +++ b/dlls/kernel32/process.c @@ -1048,7 +1048,18 @@ void CDECL __wine_kernel_init(void) if (!getenv("WINEPRELOADRESERVE")) exec_process( main_exe_name ); /* if we get back here, it failed */ } - + else if (error == ERROR_MOD_NOT_FOUND) + { + if ((p = strrchrW( main_exe_name, '\\' ))) p++; + else p = main_exe_name; + if (!strcmpiW( p, winevdmW ) && __wine_main_argc > 3) + { + /* args 1 and 2 are --app-name full_path */ + MESSAGE( "wine: could not run %s: 16-bit/DOS support missing\n", + debugstr_w(__wine_main_wargv[3]) ); + ExitProcess( ERROR_BAD_EXE_FORMAT ); + } + } FormatMessageA( FORMAT_MESSAGE_FROM_SYSTEM, NULL, error, 0, msg, sizeof(msg), NULL ); MESSAGE( "wine: could not load %s: %s", debugstr_w(main_exe_name), msg ); ExitProcess( error ); -- 2.11.4.GIT