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>
oldstable
Zebediah Figura 2017-09-20 23:53:49 -05:00 committed by Alexandre Julliard
parent 0991e01531
commit af9ee87748
2 changed files with 19 additions and 2 deletions

View File

@ -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);

View File

@ -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 */