Updates for the new loadorder handling of 16-bit dlls.
This commit is contained in:
parent
6e2d05957e
commit
7412125e46
|
@ -57,26 +57,19 @@ struct loadorder_list
|
||||||
|
|
||||||
/* dll to load as builtins if not explicitly specified otherwise */
|
/* dll to load as builtins if not explicitly specified otherwise */
|
||||||
/* the list must remain sorted by dll name */
|
/* the list must remain sorted by dll name */
|
||||||
static const WCHAR default_builtins[][16] =
|
static const WCHAR default_builtins[][10] =
|
||||||
{
|
{
|
||||||
{ 'g','d','i','3','2',0 },
|
{ 'g','d','i','3','2',0 },
|
||||||
{ 'i','c','m','p',0 },
|
{ 'i','c','m','p',0 },
|
||||||
{ 'k','e','r','n','e','l','3','2',0 },
|
{ 'k','e','r','n','e','l','3','2',0 },
|
||||||
{ 'm','m','s','y','s','t','e','m',0 },
|
|
||||||
{ 'n','t','d','l','l',0 },
|
{ 'n','t','d','l','l',0 },
|
||||||
{ 'o','d','b','c','3','2',0 },
|
{ 'o','d','b','c','3','2',0 },
|
||||||
{ 's','o','u','n','d',0 },
|
|
||||||
{ 't','t','y','d','r','v',0 },
|
{ 't','t','y','d','r','v',0 },
|
||||||
{ 'u','s','e','r','3','2',0 },
|
{ 'u','s','e','r','3','2',0 },
|
||||||
{ 'w','3','2','s','k','r','n','l',0 },
|
{ 'w','3','2','s','k','r','n','l',0 },
|
||||||
{ 'w','3','2','s','y','s',0 },
|
|
||||||
{ 'w','i','n','3','2','s','1','6',0 },
|
|
||||||
{ 'w','i','n','a','s','p','i',0 },
|
|
||||||
{ 'w','i','n','e','d','o','s',0 },
|
{ 'w','i','n','e','d','o','s',0 },
|
||||||
{ 'w','i','n','e','p','s','1','6','.','d','r','v',0 },
|
|
||||||
{ 'w','i','n','e','p','s',0 },
|
{ 'w','i','n','e','p','s',0 },
|
||||||
{ 'w','i','n','m','m',0 },
|
{ 'w','i','n','m','m',0 },
|
||||||
{ 'w','i','n','s','o','c','k',0 },
|
|
||||||
{ 'w','n','a','s','p','i','3','2',0 },
|
{ 'w','n','a','s','p','i','3','2',0 },
|
||||||
{ 'w','o','w','3','2',0 },
|
{ 'w','o','w','3','2',0 },
|
||||||
{ 'w','s','2','_','3','2',0 },
|
{ 'w','s','2','_','3','2',0 },
|
||||||
|
@ -324,7 +317,7 @@ static void init_load_order(void)
|
||||||
" Only the first letter of the override (native or builtin)\n"
|
" Only the first letter of the override (native or builtin)\n"
|
||||||
" is significant.\n\n"
|
" is significant.\n\n"
|
||||||
"Example:\n"
|
"Example:\n"
|
||||||
" WINEDLLOVERRIDES=\"comdlg32,commdlg=n,b;shell,shell32=b\"\n" );
|
" WINEDLLOVERRIDES=\"comdlg32=n,b;shell32,shlwapi=b\"\n" );
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -87,9 +87,7 @@ WINE REGISTRY Version 2
|
||||||
; some dlls you may want to change
|
; some dlls you may want to change
|
||||||
"oleaut32" = "builtin, native"
|
"oleaut32" = "builtin, native"
|
||||||
"ole32" = "builtin, native"
|
"ole32" = "builtin, native"
|
||||||
"commdlg" = "builtin, native"
|
|
||||||
"comdlg32" = "builtin, native"
|
"comdlg32" = "builtin, native"
|
||||||
"shell" = "builtin, native"
|
|
||||||
"shell32" = "builtin, native"
|
"shell32" = "builtin, native"
|
||||||
"shfolder" = "builtin, native"
|
"shfolder" = "builtin, native"
|
||||||
"shlwapi" = "builtin, native"
|
"shlwapi" = "builtin, native"
|
||||||
|
|
|
@ -199,10 +199,12 @@ can be any valid DLL module name. If no extension is specified .dll is
|
||||||
assumed. The specified value is a comma separated list of module-types
|
assumed. The specified value is a comma separated list of module-types
|
||||||
to try to load in that specific order. Case is not important and only
|
to try to load in that specific order. Case is not important and only
|
||||||
the first letter of each type is enough to identify the type n[ative]
|
the first letter of each type is enough to identify the type n[ative]
|
||||||
or b[uiltin]. Also whitespace is ignored. See also commandline
|
or b[uiltin]. Also whitespace is ignored. See also the description of
|
||||||
option
|
the
|
||||||
.I --dll
|
.I WINEDLLOVERRIDES
|
||||||
for details about the allowable types.
|
environment variable in
|
||||||
|
.BR wine (1)
|
||||||
|
for details about the allowed types.
|
||||||
.br
|
.br
|
||||||
The wildcard entry
|
The wildcard entry
|
||||||
.I """*"""
|
.I """*"""
|
||||||
|
@ -214,8 +216,6 @@ Examples:
|
||||||
.br
|
.br
|
||||||
.I """kernel32""=""builtin"""
|
.I """kernel32""=""builtin"""
|
||||||
.br
|
.br
|
||||||
.I """kernel""=""builtin"""
|
|
||||||
.br
|
|
||||||
.I """comdlg32""=""native,builtin"""
|
.I """comdlg32""=""native,builtin"""
|
||||||
.br
|
.br
|
||||||
.I """*""=""builtin,native"""
|
.I """*""=""builtin,native"""
|
||||||
|
|
|
@ -217,28 +217,31 @@ on. Multiple libraries with the same load order can be separated with
|
||||||
commas. It is also possible to use specify different loadorders for
|
commas. It is also possible to use specify different loadorders for
|
||||||
different libraries by separating the entries by ";".
|
different libraries by separating the entries by ";".
|
||||||
.br
|
.br
|
||||||
|
The load order for a 16-bit dll is always defined by the load order of
|
||||||
|
the 32-bit dll that contains it (which can be identified by looking at
|
||||||
|
the symbolic link of the 16-bit .dll.so file). For instance if
|
||||||
|
ole32.dll is configured as builtin, storage.dll will be loaded as
|
||||||
|
builtin too, since the 32-bit ole32.dll contains the 16-bit
|
||||||
|
storage.dll.
|
||||||
|
.br
|
||||||
Examples:
|
Examples:
|
||||||
.RS
|
.RS
|
||||||
.TP
|
.TP
|
||||||
WINEDLLOVERRIDES="comdlg32,commdlg=n,b"
|
WINEDLLOVERRIDES="comdlg32,shell32=n,b"
|
||||||
.br
|
.br
|
||||||
Try to load comdlg32 and commdlg as native windows dll first and try
|
Try to load comdlg32 and shell32 as native windows dll first and try
|
||||||
the builtin version if the native load fails.
|
the builtin version if the native load fails.
|
||||||
.TP
|
.TP
|
||||||
WINEDLLOVERRIDES="shell,shell32=n;c:\(rs\(rsfoo\(rs\(rsbar\(rs\(rsbaz=b"
|
WINEDLLOVERRIDES="comdlg32,shell32=n;c:\(rs\(rsfoo\(rs\(rsbar\(rs\(rsbaz=b"
|
||||||
.br
|
.br
|
||||||
Try to load the libraries shell and shell32 as native windows dlls. Furthermore, if
|
Try to load the libraries comdlg32 and shell32 as native windows dlls. Furthermore, if
|
||||||
an application request to load c:\(rsfoo\(rsbar\(rsbaz.dll load the builtin library baz.
|
an application request to load c:\(rsfoo\(rsbar\(rsbaz.dll load the builtin library baz.
|
||||||
.TP
|
.TP
|
||||||
WINEDLLOVERRIDES="comdlg32,commdlg=b,n;shell,shell32=b;comctl32,commctrl=n"
|
WINEDLLOVERRIDES="comdlg32=b,n;shell32=b;comctl32=n"
|
||||||
.br
|
.br
|
||||||
Try to load comdlg32 and commdlg as builtin first and try the native version
|
Try to load comdlg32 as builtin first and try the native version if
|
||||||
if the builtin load fails; load shell32/shell always as builtin and
|
the builtin load fails; load shell32 always as builtin and comctl32
|
||||||
comctl32/commctrl always as native.
|
always as native.
|
||||||
.br
|
|
||||||
Note: It is wise to keep dll pairs (comdlg32/commdlg, shell/shell32, etc.)
|
|
||||||
having exactly the same load order. This will prevent mismatches at runtime.
|
|
||||||
See also configuration file format below.
|
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.I DISPLAY
|
.I DISPLAY
|
||||||
|
|
Loading…
Reference in New Issue