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
