James Hawkins : msi:
Use a different separator as a semi-colon may separate values in the
CustomActionData .
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Jul 25 07:44:15 CDT 2007
Module: wine
Branch: master
Commit: 6af199ef9c4e25e3521f8ad3b109a0ab43edebae
URL: http://source.winehq.org/git/wine.git/?a=commit;h=6af199ef9c4e25e3521f8ad3b109a0ab43edebae
Author: James Hawkins <truiken at gmail.com>
Date: Tue Jul 24 15:54:36 2007 -0700
msi: Use a different separator as a semi-colon may separate values in the CustomActionData.
---
dlls/msi/custom.c | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/dlls/msi/custom.c b/dlls/msi/custom.c
index 06699d2..cc08c29 100644
--- a/dlls/msi/custom.c
+++ b/dlls/msi/custom.c
@@ -137,7 +137,7 @@ static BOOL check_execution_scheduling_options(MSIPACKAGE *package, LPCWSTR acti
/* stores the following properties before the action:
*
- * [CustomActionData;UserSID;ProductCode]Action
+ * [CustomActionData][UserSID][ProductCode]Action
*/
static LPWSTR msi_get_deferred_action(LPCWSTR action, LPCWSTR actiondata,
LPCWSTR usersid, LPCWSTR prodcode)
@@ -145,7 +145,7 @@ static LPWSTR msi_get_deferred_action(LPCWSTR action, LPCWSTR actiondata,
LPWSTR deferred;
DWORD len;
- static const WCHAR format[] = {'[','%','s',';','%','s',';','%','s',']','%','s',0};
+ static const WCHAR format[] = {'[','%','s',']','[','%','s',']','[','%','s',']','%','s',0};
if (!actiondata)
return strdupW(action);
@@ -162,15 +162,15 @@ static void set_deferred_action_props(MSIPACKAGE *package, LPWSTR deferred_data)
{
LPWSTR end, beg = deferred_data + 1;
- end = strchrW(beg, ';');
+ end = strchrW(beg, ']');
*end = '\0';
MSI_SetPropertyW(package, szActionData, beg);
- beg = end + 1;
+ beg = end + 2;
- end = strchrW(beg, ';');
+ end = strchrW(beg, ']');
*end = '\0';
MSI_SetPropertyW(package, UserSID, beg);
- beg = end + 1;
+ beg = end + 2;
end = strchrW(beg, ']');
*end = '\0';
@@ -193,7 +193,7 @@ UINT ACTION_CustomAction(MSIPACKAGE *package, LPCWSTR action, UINT script, BOOL
WCHAR *deformated=NULL;
/* deferred action: [properties]Action */
- if ((ptr = strchrW(action_copy, ']')))
+ if ((ptr = strrchrW(action_copy, ']')))
{
deferred_data = action_copy;
action = ptr + 1;
More information about the wine-cvs
mailing list