Module: wine Branch: master Commit: 185bcc4523c5827a78a56c63735f1a5f502e999b URL: http://source.winehq.org/git/wine.git/?a=commit;h=185bcc4523c5827a78a56c6373...
Author: Joel Holdsworth joel@airwebreathe.org.uk Date: Wed Dec 13 13:32:22 2017 -0700
urlmon: Support [Add.Code] sections in ActiveX INF files.
Signed-off-by: Joel Holdsworth joel@airwebreathe.org.uk Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/urlmon/axinstall.c | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-)
diff --git a/dlls/urlmon/axinstall.c b/dlls/urlmon/axinstall.c index 7ee7d94..d2cf7e6 100644 --- a/dlls/urlmon/axinstall.c +++ b/dlls/urlmon/axinstall.c @@ -251,12 +251,25 @@ static HRESULT install_inf_file(install_ctx_t *ctx)
len = GetPrivateProfileStringW(add_codeW, NULL, NULL, buf, sizeof(buf)/sizeof(*buf), ctx->install_file); if(len) { - FIXME("[Add.Code] section not supported\n"); + default_install = FALSE;
- /* Don't throw an error if we successfully ran setup hooks; - installation is likely to be complete enough */ - if(default_install) - return E_NOTIMPL; + for(key = buf; *key; key += strlenW(key)+1) { + TRACE("[Add.Code] key: %s\n", debugstr_w(key)); + + len = GetPrivateProfileStringW(add_codeW, key, NULL, sect_name, sizeof(sect_name)/sizeof(*sect_name), + ctx->install_file); + if(!len) { + WARN("Could not get key value\n"); + return E_FAIL; + } + + hres = RunSetupCommandW(ctx->hwnd, ctx->install_file, sect_name, + ctx->tmp_dir, NULL, NULL, RSC_FLAG_INF, NULL); + if(FAILED(hres)) { + WARN("RunSetupCommandW failed: %08x\n", hres); + return hres; + } + } }
if(default_install) {