MSI: write more keys and fix REG_SZ_MULTI
Aric Stewart
aric at codeweavers.com
Mon May 23 08:27:21 CDT 2005
Double terminate SZ_MULTI properly.
ClassInfo and ExtensionInfo are also written for ADVERTISED components.
-------------- next part --------------
Index: dlls/msi/action.c
===================================================================
RCS file: /home/wine/wine/dlls/msi/action.c,v
retrieving revision 1.120
diff -u -r1.120 action.c
--- dlls/msi/action.c 20 May 2005 18:59:01 -0000 1.120
+++ dlls/msi/action.c 23 May 2005 13:26:27 -0000
@@ -3691,6 +3691,10 @@
deformat_string(package, name, &deformated);
+ /* get the double nulls to terminate SZ_MULTI */
+ if (type == REG_MULTI_SZ)
+ size +=sizeof(WCHAR);
+
if (!check_first)
{
TRACE("Setting value %s of %s\n",debugstr_w(deformated),
@@ -4586,8 +4590,10 @@
continue;
}
- if (!ACTION_VerifyComponentForAction(package, index,
- INSTALLSTATE_LOCAL))
+ if ((!ACTION_VerifyComponentForAction(package, index,
+ INSTALLSTATE_LOCAL)) &&
+ (!ACTION_VerifyComponentForAction(package, index,
+ INSTALLSTATE_ADVERTISED)))
{
TRACE("Skipping class reg due to disabled component\n");
msiobj_release(&row->hdr);
@@ -6050,8 +6056,10 @@
continue;
}
- if (!ACTION_VerifyComponentForAction(package, index,
- INSTALLSTATE_LOCAL))
+ if ((!ACTION_VerifyComponentForAction(package, index,
+ INSTALLSTATE_LOCAL)) &&
+ (!ACTION_VerifyComponentForAction(package, index,
+ INSTALLSTATE_ADVERTISED)))
{
TRACE("Skipping extension reg due to disabled component\n");
msiobj_release(&row->hdr);
More information about the wine-patches
mailing list