Module: wine Branch: master Commit: 45cb03f4878dc80df6624d246bfb1ad1f925af51 URL: https://source.winehq.org/git/wine.git/?a=commit;h=45cb03f4878dc80df6624d246...
Author: Gijs Vermeulen gijsvrm@gmail.com Date: Sat May 23 16:41:31 2020 +0200
wuapi: Add UpdateInstaller coclass.
Signed-off-by: Gijs Vermeulen gijsvrm@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
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),