Commit 6af199ef authored by James Hawkins's avatar James Hawkins Committed by Alexandre Julliard

msi: Use a different separator as a semi-colon may separate values in the CustomActionData.

parent 85c5dcb1
...@@ -137,7 +137,7 @@ static BOOL check_execution_scheduling_options(MSIPACKAGE *package, LPCWSTR acti ...@@ -137,7 +137,7 @@ static BOOL check_execution_scheduling_options(MSIPACKAGE *package, LPCWSTR acti
/* stores the following properties before the action: /* 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, static LPWSTR msi_get_deferred_action(LPCWSTR action, LPCWSTR actiondata,
LPCWSTR usersid, LPCWSTR prodcode) LPCWSTR usersid, LPCWSTR prodcode)
...@@ -145,7 +145,7 @@ static LPWSTR msi_get_deferred_action(LPCWSTR action, LPCWSTR actiondata, ...@@ -145,7 +145,7 @@ static LPWSTR msi_get_deferred_action(LPCWSTR action, LPCWSTR actiondata,
LPWSTR deferred; LPWSTR deferred;
DWORD len; DWORD len;
static const WCHAR format[] = {'[','%','s',';','%','s',';','%','s',']','%','s',0}; static const WCHAR format[] = {'[','%','s',']','[','%','s',']','[','%','s',']','%','s',0};
if (!actiondata) if (!actiondata)
return strdupW(action); return strdupW(action);
...@@ -162,15 +162,15 @@ static void set_deferred_action_props(MSIPACKAGE *package, LPWSTR deferred_data) ...@@ -162,15 +162,15 @@ static void set_deferred_action_props(MSIPACKAGE *package, LPWSTR deferred_data)
{ {
LPWSTR end, beg = deferred_data + 1; LPWSTR end, beg = deferred_data + 1;
end = strchrW(beg, ';'); end = strchrW(beg, ']');
*end = '\0'; *end = '\0';
MSI_SetPropertyW(package, szActionData, beg); MSI_SetPropertyW(package, szActionData, beg);
beg = end + 1; beg = end + 2;
end = strchrW(beg, ';'); end = strchrW(beg, ']');
*end = '\0'; *end = '\0';
MSI_SetPropertyW(package, UserSID, beg); MSI_SetPropertyW(package, UserSID, beg);
beg = end + 1; beg = end + 2;
end = strchrW(beg, ']'); end = strchrW(beg, ']');
*end = '\0'; *end = '\0';
...@@ -193,7 +193,7 @@ UINT ACTION_CustomAction(MSIPACKAGE *package, LPCWSTR action, UINT script, BOOL ...@@ -193,7 +193,7 @@ UINT ACTION_CustomAction(MSIPACKAGE *package, LPCWSTR action, UINT script, BOOL
WCHAR *deformated=NULL; WCHAR *deformated=NULL;
/* deferred action: [properties]Action */ /* deferred action: [properties]Action */
if ((ptr = strchrW(action_copy, ']'))) if ((ptr = strrchrW(action_copy, ']')))
{ {
deferred_data = action_copy; deferred_data = action_copy;
action = ptr + 1; action = ptr + 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment