[wix-users] Questions regarding msp generated using pure WIX
duggal_sunny at yahoo.com
Fri Aug 24 21:13:18 PDT 2018
I am struggling with couple of issues when generating patch using pure WIX. Appreciate your help to resolve those
Issue # 1: Supersede logic for the patches
I have a simple patch.wxs with details as
<Patch AllowRemoval="yes" Manufacturer="$(var.Manufacturer)" DisplayName="$(var.DisplayName) (KB$(var.KBArticle))" Description="$(var.Description)" Classification="$(var.Classification)" MinorUpdateTargetRTM="yes" MoreInfoURL="$(var.MoreInfoUrl)$(var.KBArticle)" Comments="KB $(var.KBArticle)">
<!-- Media Element Documentation Reference http://wixtoolset.org/documentation/manual/v3/xsd/wix/media.html Id: Numeric value >= 1. Represent DiskId for Media with MSI/MSP source. Cabinet: Name of the cab file to hold files --> <Media Id="1" Cabinet="GAPlus.cab"> <!-- http://wixtoolset.org/documentation/manual/v3/xsd/wix/validate.html PatchBaseline details, used for patch applicability Id: value is used while creating Patch (Pyro) Validate: Comparison to perform when validating update applicability. ProductVersionOperator: Installed ProductVersion <= Upgrade ProductVersion i.e. Patch is applicable only if installed version is lesser than Upgrade version Comparison is for Major.Minor value only --> <PatchBaseline Id="GAPlus"> <Validate ProductVersionOperator="LesserOrEqual" ProductVersion="Minor"/> </PatchBaseline> </Media>
<!-- PatchFamilyRef Element Documentation Reference http://wixtoolset.org/documentation/manual/v3/xsd/wix/patchfamilyref.html --> <PatchFamilyRef Id="AgentUpdate"/> </Patch> <!-- Fragement Element Documentation Reference http://wixtoolset.org/documentation/manual/v3/xsd/wix/fragment.html --> <Fragment> <PatchFamily Id="AgentUpdate" Version="$(var.ProductVersion)" Supersede="yes"/> </Fragment>
I am increasing the ProductVersion value with every build. So first MSP is 1.1.0, next is 1.2.0, next is 1.3.0 and so on. However, if I deploy 1.3.0 patch and later try to deploy 1.1.0 patch - it let the override so it leads to downgrade. Could someone please help me understand what am I doing wrong here?
Issue # 2 - Patch to cater multiple MSIWe plan to release the MSI every 3 months for same "Product Code". After every MSI release, we change the baseline to the most recent released MSI and then generates patch using this baseline. We want the patches to be applicable to all released MSI(s). What detail needs to be included in my patch.wxs for this purpose? Does anyone have an example / sample WXS and commands info to support this kind of scenario?
Thanks in advance for your help!
More information about the wix-users