https://git.reactos.org/?p=reactos.git;a=commitdiff;h=636f46adb643cee540e1d1bcbcb94f7d5b24d7ba
commit 636f46adb643cee540e1d1bcbcb94f7d5b24d7ba Author: winesync <[email protected]> AuthorDate: Sat Mar 12 23:57:39 2022 +0100 Commit: Mark Jansen <[email protected]> CommitDate: Sun Mar 20 19:28:01 2022 +0100 [WINESYNC] msi: Handle the remote case in MsiSummaryInfoSetProperty. Signed-off-by: Dmitry Timoshkov <[email protected]> Signed-off-by: Hans Leidekker <[email protected]> Signed-off-by: Alexandre Julliard <[email protected]> wine commit id 190ef475fa3164d2f468d5b09c58c8150d30f129 by Dmitry Timoshkov <[email protected]> --- dll/win32/msi/suminfo.c | 20 ++++++++++++++++++++ modules/rostests/winetests/msi/custom.c | 4 +++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/dll/win32/msi/suminfo.c b/dll/win32/msi/suminfo.c index 3295a6a5e7d..b3d605400f3 100644 --- a/dll/win32/msi/suminfo.c +++ b/dll/win32/msi/suminfo.c @@ -851,7 +851,17 @@ UINT WINAPI MsiSummaryInfoSetPropertyW( MSIHANDLE handle, UINT uiProperty, UINT return ERROR_INVALID_PARAMETER; if (!(si = msihandle2msiinfo( handle, MSIHANDLETYPE_SUMMARYINFO ))) + { + MSIHANDLE remote; + + if ((remote = msi_get_remote( handle ))) + { + WARN("MsiSummaryInfoSetProperty not allowed during a custom action!\n"); + return ERROR_FUNCTION_FAILED; + } + return ERROR_INVALID_HANDLE; + } str.unicode = TRUE; str.str.w = szValue; @@ -882,7 +892,17 @@ UINT WINAPI MsiSummaryInfoSetPropertyA( MSIHANDLE handle, UINT uiProperty, UINT return ERROR_INVALID_PARAMETER; if (!(si = msihandle2msiinfo( handle, MSIHANDLETYPE_SUMMARYINFO ))) + { + MSIHANDLE remote; + + if ((remote = msi_get_remote( handle ))) + { + WARN("MsiSummaryInfoSetProperty not allowed during a custom action!\n"); + return ERROR_FUNCTION_FAILED; + } + return ERROR_INVALID_HANDLE; + } str.unicode = FALSE; str.str.a = szValue; diff --git a/modules/rostests/winetests/msi/custom.c b/modules/rostests/winetests/msi/custom.c index 1cf24536d04..0ba5f10c88d 100644 --- a/modules/rostests/winetests/msi/custom.c +++ b/modules/rostests/winetests/msi/custom.c @@ -499,7 +499,9 @@ todo_wine ok(hinst, !lstrcmpA(buffer, "deadbeef"), "got %s\n", buffer); r = MsiSummaryInfoSetPropertyA(suminfo, PID_CODEPAGE, VT_I2, 1252, &ft, ""); -todo_wine + ok(hinst, r == ERROR_FUNCTION_FAILED, "got %u\n", r); + + r = MsiSummaryInfoSetPropertyW(suminfo, PID_CODEPAGE, VT_I2, 1252, &ft, NULL); ok(hinst, r == ERROR_FUNCTION_FAILED, "got %u\n", r); r = MsiCloseHandle(suminfo);
