From 45cb03f4878dc80df6624d246bfb1ad1f925af51 Mon Sep 17 00:00:00 2001 From: Gijs Vermeulen Date: Sat, 23 May 2020 16:41:31 +0200 Subject: [PATCH] wuapi: Add UpdateInstaller coclass. Signed-off-by: Gijs Vermeulen Signed-off-by: Alexandre Julliard --- 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 c2ed95ed42b..63392b3660c 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 d1a35930841..a0a8e4359a9 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),