Partial implementation of DllRegisterServer.
diff --git a/dlls/msxml3/main.c b/dlls/msxml3/main.c index cda45df..60afd10 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 @@ return TRUE; } +static HRESULT add_key_val( LPCSTR key, LPCSTR valname, LPCSTR value ) +{ + 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) { - FIXME("\n"); - return S_OK; + 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 9e82975..65801e3 100644 --- a/tools/wine.inf +++ b/tools/wine.inf
@@ -2052,6 +2052,7 @@ 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