msi 2: Use a more unique property separator
James Hawkins
truiken at gmail.com
Fri Jul 27 13:13:01 CDT 2007
Hi,
The Citrix Presentation Server installer uses brackets in its
CustomActionData property.
Changelog:
* Use a more unique property separator.
dlls/msi/custom.c | 16 ++++++++++------
1 files changed, 10 insertions(+), 6 deletions(-)
--
James Hawkins
-------------- next part --------------
diff --git a/dlls/msi/custom.c b/dlls/msi/custom.c
index 54efc85..390113e 100644
--- a/dlls/msi/custom.c
+++ b/dlls/msi/custom.c
@@ -137,7 +137,7 @@ static BOOL check_execution_scheduling_o
/* 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,9 @@ static LPWSTR msi_get_deferred_action(LP
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 +164,17 @@ static void set_deferred_action_props(MS
{
LPWSTR end, beg = deferred_data + 1;
- end = strchrW(beg, ']');
+ static const WCHAR sep[] = {'<','=','>',0};
+
+ end = strstrW(beg, sep);
*end = '\0';
MSI_SetPropertyW(package, szActionData, beg);
- beg = end + 2;
+ beg = end + 3;
- end = strchrW(beg, ']');
+ end = strstrW(beg, sep);
*end = '\0';
MSI_SetPropertyW(package, UserSID, beg);
- beg = end + 2;
+ beg = end + 3;
end = strchrW(beg, ']');
*end = '\0';
--
1.4.1
More information about the wine-patches
mailing list