Commit c6d95770 authored by Alexandre Julliard's avatar Alexandre Julliard

ntdll: Default to native loadorder for the main exe if not in system directory.

Unlike dlls, executables can have the same name without necessarily being the same application, so defaulting to native is more likely to do the right thing.
parent f2f44de6
......@@ -474,9 +474,17 @@ enum loadorder get_load_order( const WCHAR *app_name, const WCHAR *path )
if (basename != module+1 && ((ret = get_load_order_value( std_key, app_key, basename )) != LO_INVALID))
goto done;
/* if loading the main exe with an explicit path, try native first */
if (!app_name && basename != module+1)
{
ret = LO_NATIVE_BUILTIN;
TRACE( "got main exe default %s for %s\n", debugstr_loadorder(ret), debugstr_w(path) );
goto done;
}
/* and last the hard-coded default */
ret = LO_DEFAULT;
TRACE( "got hardcoded default %s for %s\n", debugstr_loadorder(ret), debugstr_w(path) );
TRACE( "got hardcoded %s for %s\n", debugstr_loadorder(ret), debugstr_w(path) );
done:
RtlFreeHeap( GetProcessHeap(), 0, module );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment