Wix:修补程序无法更新已安装的产品并显示“更改/修复”对话框

时间:2012-07-18 11:39:26

标签: wix patch msp

根据本教程,我正在使用PCP构建补丁:
http://wix.sourceforge.net/manual-wix3/patch_building.htm

我是两个MSI(以管理员安装方式提取)

  1. 8.11.9.225(这是我要更新的目标)
  2. 8.11.9.353(最新的一个)。
  3. 上面的程序运行没有任何问题,并生成我的.msp文件,但是大尺寸(500多MB),所以我认为,它有太大的差异。

    但是,每当我尝试安装此补丁时,它会显示更改/修复对话框,如果我使用更改或修复,则在两种情况下都会出现错误  “已经安装了另一个版本。您必须先将其卸载才能安装此版本。”

    我甚至在第二个msi(在所有表格中)更改了产品代码,但它无法解决任何问题。

    这是我的补丁代码:

    <?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>
    

    因为它正在生成一个大的.msp,我应该使用msp这样的大小还是进行重大升级?

    任何帮助都会非常感激

    祝你好运

1 个答案:

答案 0 :(得分:0)

使用以下命令行安装msp:

解决了这个问题
  

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

我还没有挖出REINSTALLMODE = oums,但它现在正在运作。