Zebediah Figura : msi: Add a missing UI message in the ExecuteAction action.

Alexandre Julliard julliard at winehq.org
Thu Sep 21 15:01:00 CDT 2017


Module: wine
Branch: master
Commit: af9ee877488b9365d23edfdeb20a3860ba1a6127
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=af9ee877488b9365d23edfdeb20a3860ba1a6127

Author: Zebediah Figura <z.figura12 at 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 at gmail.com>
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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 */




More information about the wine-cvs mailing list