Joel Holdsworth : urlmon: Support [Add.Code] sections in ActiveX INF files.
Alexandre Julliard
julliard at winehq.org
Sun Mar 18 09:02:32 CDT 2018
Module: wine
Branch: oldstable
Commit: 5575c1e9f01c7a3df41a1f4cd467ad5e4e80340d
URL: https://source.winehq.org/git/wine.git/?a=commit;h=5575c1e9f01c7a3df41a1f4cd467ad5e4e80340d
Author: Joel Holdsworth <joel at 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 at airwebreathe.org.uk>
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
(cherry picked from commit 185bcc4523c5827a78a56c63735f1a5f502e999b)
Signed-off-by: Michael Stefaniuc <mstefani at 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) {
More information about the wine-cvs
mailing list