Patch applicability does not check all installed product for non-specific patches #4366

Closed
wixbot opened this Issue Mar 28, 2014 · 3 comments

Comments

Projects
None yet
2 participants
@wixbot
Collaborator

wixbot commented Mar 28, 2014

The original optimization in patch applicability in mspengine.cpp was to only check all installed products if even 1 patch does not target a specific ProductCode. If all patches target a specific ProductCode, we only check that list.

However, Burn determines which to do based on whether or not any TargetProductCode elements are in the manifest regardless of whether any of the patches are non-specific.

Rather than having Burn check whether any MsiPatch/TargetProduct/TargetProductCode elements are non-specific via XPath, we should do that in the binder. The actual error is in ChainPackageInfo.cs where we check that element. If found, the assumption is that the patch targets a specific ProductCode. however, you also need to check if the Validate attribute is "true" (or maybe there's multiple versions of the XML blob where either is possible, in which case check the latter first then the former). The same assumption is there for the UpgradeCode as well. All the child elements of MsiPatch/TargetProduct have that schema, FWIW.

Originally opened by heaths

@wixbot

This comment has been minimized.

Show comment
Hide comment
@wixbot

wixbot Apr 3, 2014

Collaborator

Area changed from linker to burn
Release changed from v3.8 to v3.x

Collaborator

wixbot commented Apr 3, 2014

Area changed from linker to burn
Release changed from v3.8 to v3.x

@wixbot

This comment has been minimized.

Show comment
Hide comment
@wixbot

wixbot Jun 14, 2014

Collaborator

Originally changed by heaths
AssignedTo set to heaths

Collaborator

wixbot commented Jun 14, 2014

Originally changed by heaths
AssignedTo set to heaths

@wixbot

This comment has been minimized.

Show comment
Hide comment
@wixbot

wixbot Jun 15, 2014

Collaborator

Originally changed by heaths
Resolution set to fixed
Status changed from Open to Resolved

Collaborator

wixbot commented Jun 15, 2014

Originally changed by heaths
Resolution set to fixed
Status changed from Open to Resolved

@wixbot wixbot added bug burn labels Dec 20, 2015

@wixbot wixbot added this to the v3.x milestone Dec 20, 2015

@wixbot wixbot closed this Dec 20, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment