diff --git a/dlls/mscoree/config.c b/dlls/mscoree/config.c index af2ccf243fa1c2c6f8f3c9e3544cf8dd452a92b1..48f12f4d53d01c606eb431b378dfa9b97d85a87d 100644 --- a/dlls/mscoree/config.c +++ b/dlls/mscoree/config.c @@ -34,7 +34,6 @@ #include "cordebug.h" #include "wine/list.h" #include "mscoree_private.h" -#include "shlwapi.h" #include "wine/debug.h" @@ -664,20 +663,18 @@ HRESULT parse_config_file(LPCWSTR filename, parsed_config_file *result) init_config(result); - initresult = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED); - - hr = SHCreateStreamOnFileW(filename, STGM_SHARE_DENY_WRITE | STGM_READ | STGM_FAILIFTHERE, &stream); - if (SUCCEEDED(hr)) - { - V_VT(&var) = VT_UNKNOWN; - V_UNKNOWN(&var) = (IUnknown*)stream; + hr = CreateConfigStream(filename, &stream); + if (FAILED(hr)) + return hr; - hr = parse_config(var, result); + initresult = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED); + V_VT(&var) = VT_UNKNOWN; + V_UNKNOWN(&var) = (IUnknown*)stream; - IStream_Release(stream); - } + hr = parse_config(var, result); + IStream_Release(stream); if (SUCCEEDED(initresult)) CoUninitialize();