Search code examples
wixpatchmsp

Wix: Patch can't update installed product and shows Change/Repair dialog


I'm building a patch using PCP, according to this tutorial:
http://wix.sourceforge.net/manual-wix3/patch_building.htm

I'v two MSI (extracted as Admin installs)

  1. 8.11.9.225 (This is my target to update)
  2. 8.11.9.353 (The latest one).

Above procedure worked without any problem and generates my .msp file, but of a big size (500+ MB) so I think, it is getting too much differences.

However, whenever I tried to install this patch, it shows Change/Repair Dialog, and if I use Change or Repair, in both cases it error

"Another version is already installed. You must first uninstall it in order to install this version."

I even changed the Product Code in the 2nd msi (in all tables), but it can't solve any problem.

Here is my patch code:

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <PatchCreation
      Id="{ff8364b1-f222-48fb-bc6b-cfb37b38fcdf}"
      CleanWorkingFolder="yes"
      OutputPath="ABD_Patch_353.pcp"
      WholeFilesOnly="yes"
       AllowProductCodeMismatches="yes"

      >

    <PatchInformation
        Description=  "Patch for build 225"
        Comments=     "Patch for build 225"
        Manufacturer= "Farrukh"
    />

    <PatchMetadata
        AllowRemoval=     "yes"
        Description=      "Patch for build 225"
        ManufacturerName= "Farrukh"
        TargetProductName="My Product 08.11.09.225"
        Classification=   "Update"
        DisplayName=      "My Product 08.11.09.225"
    />
    <Family DiskId="5000"
        MediaSrcProp="ABD_225"
        Name="ABD_225"
        SequenceStart="5000">
        <UpgradeImage  Id="ABD_353" SourceFile="D:\ABD\353\My_Product.msi" >
          <TargetImage Id="ABD_225" SourceFile="D:\ABD\225\My_Product.msi" Order="2" IgnoreMissingFiles="no" />
        </UpgradeImage>
    </Family>

    <PatchSequence PatchFamily="ABDPatchFamily" 
        Sequence="1.0.0.0"
        Supersede="yes"  
    />

  </PatchCreation>
</Wix>

As it is generating a big size .msp, should I use msp for such size or do major upgrade?

Any help would be really appreciate

Best regards


Solution

  • And it is solved by using following command line to install the msp:

    msiexec /p MyPatch.msp REINSTALLMODE=oums REINSTALL=ALL /qb

    I haven't dig-out REINSTALLMODE=oums yet, but it is working at this time.