diff --git a/dlls/msxml3/main.c b/dlls/msxml3/main.c index cda45dfded7..60afd106a1c 100644 --- a/dlls/msxml3/main.c +++ b/dlls/msxml3/main.c @@ -25,6 +25,7 @@ #include "windef.h" #include "winbase.h" #include "winuser.h" +#include "winreg.h" #include "ole2.h" #include "wine/debug.h" @@ -58,8 +59,25 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv) return TRUE; } -HRESULT WINAPI DllRegisterServer(void) +static HRESULT add_key_val( LPCSTR key, LPCSTR valname, LPCSTR value ) { - FIXME("\n"); + HKEY hkey; + + if (RegCreateKeyA( HKEY_CLASSES_ROOT, key, &hkey ) != ERROR_SUCCESS) return E_FAIL; + RegSetValueA( hkey, valname, REG_SZ, value, strlen( value ) + 1 ); + RegCloseKey( hkey ); return S_OK; } + +HRESULT WINAPI DllRegisterServer(void) +{ + LONG r; + + r = add_key_val( "CLSID\\{2933BF90-7B36-11D2-B20E-00C04F983E60}", + NULL, + "XML DOM Document" ); + r = add_key_val( "CLSID\\{2933BF90-7B36-11D2-B20E-00C04F983E60}\\InProcServer32", + NULL, + "msxml3.dll" ); + return r; +} diff --git a/tools/wine.inf b/tools/wine.inf index 9e8297568f8..65801e387d0 100644 --- a/tools/wine.inf +++ b/tools/wine.inf @@ -2052,6 +2052,7 @@ HKLM,%CurrentVersion%\Telephony\Country List\998,"SameAreaRule",,"G" 11,,mlang.dll,1 11,,mshtml.dll,1 11,,msi.dll,1 +11,,msxml3.dll,1 11,,ole32.dll,1 11,,oleaut32.dll,1 11,,qcap.dll,1