Signed-off-by: Gijs Vermeulen gijsvrm@gmail.com --- dlls/wuapi/main.c | 5 +++++ include/wuapi.idl | 9 +++++++++ 2 files changed, 14 insertions(+)
diff --git a/dlls/wuapi/main.c b/dlls/wuapi/main.c index c2ed95ed42..63392b3660 100644 --- a/dlls/wuapi/main.c +++ b/dlls/wuapi/main.c @@ -111,6 +111,7 @@ static const struct IClassFactoryVtbl wucf_vtbl = static wucf sessioncf = { { &wucf_vtbl }, UpdateSession_create }; static wucf updatescf = { { &wucf_vtbl }, AutomaticUpdates_create }; static wucf sysinfocf = { { &wucf_vtbl }, SystemInformation_create }; +static wucf installercf = { { &wucf_vtbl }, UpdateInstaller_create };
static HINSTANCE instance;
@@ -146,6 +147,10 @@ HRESULT WINAPI DllGetClassObject( REFCLSID rclsid, REFIID iid, LPVOID *ppv ) { cf = &sysinfocf.IClassFactory_iface; } + else if (IsEqualGUID( rclsid, &CLSID_UpdateInstaller )) + { + cf = &installercf.IClassFactory_iface; + } if (!cf) return CLASS_E_CLASSNOTAVAILABLE; return IClassFactory_QueryInterface( cf, iid, ppv ); } diff --git a/include/wuapi.idl b/include/wuapi.idl index d1a3593084..a0a8e4359a 100644 --- a/include/wuapi.idl +++ b/include/wuapi.idl @@ -1329,6 +1329,15 @@ interface ISystemInformation : IDispatch ] coclass AutomaticUpdates { interface IAutomaticUpdates; }
+[ + helpstring("UpdateInstaller Class"), + threading(both), + progid("Microsoft.Update.Installer.1"), + vi_progid("Microsoft.Update.Installer"), + uuid(d2e0fe7f-d23e-48e1-93c0-6fa8cc346474) +] +coclass UpdateInstaller { interface IUpdateInstaller; } + [ helpstring("UpdateSession Class"), threading(both),
Signed-off-by: Gijs Vermeulen gijsvrm@gmail.com --- dlls/wuapi/installer.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/wuapi/installer.c b/dlls/wuapi/installer.c index 376148244d..acfc101f8c 100644 --- a/dlls/wuapi/installer.c +++ b/dlls/wuapi/installer.c @@ -274,8 +274,9 @@ static HRESULT WINAPI update_installer_get_IsBusy( IUpdateInstaller *This, VARIANT_BOOL *retval ) { - FIXME("\n"); - return E_NOTIMPL; + FIXME("semi-stub, returning VARIANT_FALSE!\n"); + *retval = VARIANT_FALSE; + return S_OK; }
static HRESULT WINAPI update_installer_Uninstall(