Feature Requests item #1764038, was opened at 2007-07-30 14:22
Message generated for change (Comment added) made by heaths
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=642717&aid=1764038&group_id=105970

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: extensions
Group: None
Status: Open
Priority: 5
Private: No
Submitted By: Ken (kenmuse)
Assigned to: Nobody/Anonymous (nobody)
Summary: New Patch system should allow you to set validation

Initial Comment:
Currently, all patches created via the new patch system in WiX 3 have the 
following validation:

ErrorAddExistingRow | ErrorDeleteMissingRow | ErrorAddExistingTable | 
ErrorDeleteMissingTable | ErrorUpdateMissingRow | ValidateProduct

The value is 0x2001f (the validation bits = 0x2, error bits 0x1f)

The recommended validation bits (from PatchWiz) is 0x922 (according to 
http://blogs.msdn.com/windows_installer_team/archive/2005/11/04/487044.aspx and 
http://msdn2.microsoft.com/en-us/library/Aa372066).

Having the ability to configure this value would make the patch system more 
usable. As it is, the validation does no product version checking, which leads 
to patches which apply to any version of the product code. Adding thie 
enhancement would allow patches to be configured to match their target more 
exactly.

Ideally, this should be exposed in the XML to allow the patch definition to 
control the way the bits are generated and used.


----------------------------------------------------------------------

Comment By: Heath Stewart (heaths)
Date: 2007-08-07 12:58

Message:
Logged In: YES 
user_id=1335104
Originator: NO

Note that torch should also take in an argument to control this, but
should otherwise us the default of 0x0922001f as well. I recommend using
the same approach as msitran.exe:

--- BEGIN ---
Error Conditions:
The following errors may be suppressed when applying a transform.
To suppress an error, include the appropriate character in
{error conditions}. Conditions specified with -g are placed in
the summary information of the transform, but are not used when
applying a transform with -a.

'a': Add existing row.
'b': Delete non-existing row.
'c': Add existing table.
'd': Delete non-existing table.
'e': Modify existing row.
'f': Change codepage.

Validation Conditions:
The following validation conditions may be used to indicate when a
transform may be applied to a package. These conditions may be
specified with -g but not -a.

'g': Check upgrade code.
'l': Check language.
'p': Check platform.
'r': Check product.
's': Check major version only.
't': Check major and minor versions only.
'u': Check major, minor, and update versions.
'v': Applied database version < base database version.
'w': Applied database version <= base database version.
'x': Applied database version =  base database version.
'y': Applied database version >= base database version.
'z': Applied database version >  base database version.
--- END ---

This would, of course, also be displayed in usage.

----------------------------------------------------------------------

Comment By: Heath Stewart (heaths)
Date: 2007-08-06 12:15

Message:
Logged In: YES 
user_id=1335104
Originator: NO

This actually needs to be a bug because it causes proper sequencing and
supersedence to not work. With 3.0-style patches, they are bucketized into
ProductVersion buckets first, then sequenced. So if small updates don't
target a specific ProductVersion (as they aren't with only
MSITRANSFORM_VALIDATE_PRODUCT) they get put into the latest ProductVersion
bucket, sequenced within that bucket, then superseded as authored.

This is described in
http://blogs.msdn.com/heaths/archive/2007/03/30/small-updates-should-usually-target-a-single-baseline.aspx
and shown in the log snippet below:

--- BEGIN ---
MSI (s) (88:7C) [11:18:36:618]: Final Patch Application Order:
MSI (s) (88:7C) [11:18:36:618]: {5046863C-163B-420C-ACE2-07DB9034A520} -
E:\dd\Decatur1\src\users\heaths\arp\sp1\sp1.msp
MSI (s) (88:7C) [11:18:36:618]: {72DDF114-44B2-4B8E-8737-FED75869466B} - 
MSI (s) (88:7C) [11:18:36:618]: {D5795514-BE12-467B-826F-5033683103A2} - 
MSI (s) (88:7C) [11:18:36:618]: Other Patches:
MSI (s) (88:7C) [11:18:36:618]: Superseded:
{DF4467A2-E3C0-4E2E-AE74-B30DA692C17E} - 
MSI (s) (88:7C) [11:18:36:618]: Superseded:
{DDD5D8EA-3DCF-452B-971B-AC326737A468} - 
--- END ---

That sp1.msp should be last (sans "Other patches\Superseded").

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=642717&aid=1764038&group_id=105970

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
WiX-devs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-devs

Reply via email to