[wix-users] Questions regarding msp generated using pure WIX

manish duggal duggal_sunny at yahoo.com
Fri Aug 24 21:13:18 PDT 2018

Hello Experts
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 mailing list