Module: wine Branch: master Commit: af9ee877488b9365d23edfdeb20a3860ba1a6127 URL: http://source.winehq.org/git/wine.git/?a=commit;h=af9ee877488b9365d23edfdeb2...
Author: Zebediah Figura z.figura12@gmail.com Date: Wed Sep 20 23:53:49 2017 -0500
msi: Add a missing UI message in the ExecuteAction action.
Signed-off-by: Zebediah Figura z.figura12@gmail.com Signed-off-by: Hans Leidekker hans@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/msi/action.c | 19 ++++++++++++++++++- dlls/msi/tests/package.c | 2 +- 2 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/dlls/msi/action.c b/dlls/msi/action.c index ed9dfeb..915ff17 100644 --- a/dlls/msi/action.c +++ b/dlls/msi/action.c @@ -5571,8 +5571,9 @@ static UINT ACTION_ExecuteAction(MSIPACKAGE *package) {'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ','`','_','P','r','o','p','e','r','t','y','`',0}; WCHAR *productname; WCHAR *action; + WCHAR *info_template; MSIQUERY *view; - MSIRECORD *uirow; + MSIRECORD *uirow, *uirow_info; UINT rc;
/* Send COMMONDATA and INFO messages. */ @@ -5586,6 +5587,22 @@ static UINT ACTION_ExecuteAction(MSIPACKAGE *package) MSI_ProcessMessageVerbatim(package, INSTALLMESSAGE_COMMONDATA, uirow); /* FIXME: send INSTALLMESSAGE_PROGRESS */ MSI_ProcessMessageVerbatim(package, INSTALLMESSAGE_COMMONDATA, uirow); + + if (!(needs_ui_sequence(package) && ui_sequence_exists(package))) + { + uirow_info = MSI_CreateRecord(0); + if (!uirow_info) + { + msiobj_release(&uirow->hdr); + return ERROR_OUTOFMEMORY; + } + info_template = msi_get_error_message(package->db, MSIERR_INFO_LOGGINGSTART); + MSI_RecordSetStringW(uirow_info, 0, info_template); + msi_free(info_template); + MSI_ProcessMessage(package, INSTALLMESSAGE_INFO|MB_ICONHAND, uirow_info); + msiobj_release(&uirow_info->hdr); + } + MSI_ProcessMessage(package, INSTALLMESSAGE_COMMONDATA, uirow);
productname = msi_dup_property(package->db, INSTALLPROPERTY_PRODUCTNAMEW); diff --git a/dlls/msi/tests/package.c b/dlls/msi/tests/package.c index f7dbb58..78ec1cc 100644 --- a/dlls/msi/tests/package.c +++ b/dlls/msi/tests/package.c @@ -9519,7 +9519,7 @@ static void test_top_level_action(void) /* test INSTALL */ r = MsiDoActionA(hpkg, "INSTALL"); ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r); - ok_sequence(toplevel_install_sequence, "INSTALL (no UI)", TRUE); + ok_sequence(toplevel_install_sequence, "INSTALL (no UI)", FALSE);
/* test INSTALL with reduced+ UI */ /* for some reason we need to re-open the package to change the internal UI */