setupapi: Replace SystemRoot when registering dlls.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
14aaa0a373
commit
61f9bbd324
|
@ -843,6 +843,7 @@ static void register_fake_dll( const WCHAR *name, const void *data, size_t size,
|
||||||
HRESULT hr = S_OK;
|
HRESULT hr = S_OK;
|
||||||
HMODULE module = (HMODULE)((ULONG_PTR)data | 1);
|
HMODULE module = (HMODULE)((ULONG_PTR)data | 1);
|
||||||
struct dll_data dll_data = { delay_copy, name, 0 };
|
struct dll_data dll_data = { delay_copy, name, 0 };
|
||||||
|
WCHAR buffer[MAX_PATH];
|
||||||
const WCHAR *p;
|
const WCHAR *p;
|
||||||
|
|
||||||
if (!(p = wcsrchr( name, '\\' ))) p = name;
|
if (!(p = wcsrchr( name, '\\' ))) p = name;
|
||||||
|
@ -873,6 +874,8 @@ static void register_fake_dll( const WCHAR *name, const void *data, size_t size,
|
||||||
TRACE( "registering %s\n", debugstr_w(name) );
|
TRACE( "registering %s\n", debugstr_w(name) );
|
||||||
IRegistrar_ClearReplacements( registrar );
|
IRegistrar_ClearReplacements( registrar );
|
||||||
IRegistrar_AddReplacement( registrar, L"MODULE", name );
|
IRegistrar_AddReplacement( registrar, L"MODULE", name );
|
||||||
|
GetEnvironmentVariableW( L"SystemRoot", buffer, ARRAY_SIZE(buffer) );
|
||||||
|
IRegistrar_AddReplacement( registrar, L"SystemRoot", buffer );
|
||||||
EnumResourceNamesW( module, L"WINE_REGISTRY", register_resource, (LONG_PTR)&hr );
|
EnumResourceNamesW( module, L"WINE_REGISTRY", register_resource, (LONG_PTR)&hr );
|
||||||
if (FAILED(hr)) ERR( "failed to register %s: %x\n", debugstr_w(name), hr );
|
if (FAILED(hr)) ERR( "failed to register %s: %x\n", debugstr_w(name), hr );
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue