diff --git a/dlls/scrobj/scrobj.c b/dlls/scrobj/scrobj.c index 69d0e75c9e5..c27def2b0f9 100644 --- a/dlls/scrobj/scrobj.c +++ b/dlls/scrobj/scrobj.c @@ -444,6 +444,25 @@ HRESULT WINAPI DllUnregisterServer(void) return __wine_unregister_resources(scrobj_instance); } +/*********************************************************************** + * DllInstall (scrobj.@) + */ +HRESULT WINAPI DllInstall(BOOL install, const WCHAR *arg) +{ + HRESULT hres; + + if (install) + { + hres = DllRegisterServer(); + if (!arg || FAILED(hres)) return hres; + } + else if (!arg) + return DllUnregisterServer(); + + FIXME("argument %s not supported\n", debugstr_w(arg)); + return E_NOTIMPL; +} + static HRESULT WINAPI scriptlet_typelib_CreateInstance(IClassFactory *factory, IUnknown *outer, REFIID riid, void **obj) { struct scriptlet_typelib *This; diff --git a/dlls/scrobj/scrobj.spec b/dlls/scrobj/scrobj.spec index b16365d0c9f..8ebc2efd5be 100644 --- a/dlls/scrobj/scrobj.spec +++ b/dlls/scrobj/scrobj.spec @@ -1,4 +1,5 @@ @ stdcall -private DllCanUnloadNow() @ stdcall -private DllGetClassObject(ptr ptr ptr) +@ stdcall -private DllInstall(long wstr) @ stdcall -private DllRegisterServer() @ stdcall -private DllUnregisterServer()