Alexandre Julliard : setupapi: Replace SystemRoot when registering dlls.
Module: wine Branch: master Commit: 61f9bbd324e6510c977a8685d3d8725ae00f308f URL: https://source.winehq.org/git/wine.git/?a=commit;h=61f9bbd324e6510c977a8685d... Author: Alexandre Julliard <julliard(a)winehq.org> Date: Fri Apr 9 20:27:20 2021 +0200 setupapi: Replace SystemRoot when registering dlls. Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/setupapi/fakedll.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dlls/setupapi/fakedll.c b/dlls/setupapi/fakedll.c index 552bec27f31..852cef3d54f 100644 --- a/dlls/setupapi/fakedll.c +++ b/dlls/setupapi/fakedll.c @@ -843,6 +843,7 @@ static void register_fake_dll( const WCHAR *name, const void *data, size_t size, HRESULT hr = S_OK; HMODULE module = (HMODULE)((ULONG_PTR)data | 1); struct dll_data dll_data = { delay_copy, name, 0 }; + WCHAR buffer[MAX_PATH]; const WCHAR *p; 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) ); IRegistrar_ClearReplacements( registrar ); 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 ); if (FAILED(hr)) ERR( "failed to register %s: %x\n", debugstr_w(name), hr ); }
participants (1)
-
Alexandre Julliard