从我的WiX Burn捆绑包中删除/卸载特定包的正确方法是什么?

时间:2012-11-30 02:06:18

标签: installer wix burn

我想要从后续版本中删除我的软件包。在将来的更新期间从用户计算机上卸载此软件包的正确方法是什么? (IE:删除下面的Package_B)。

我已经尝试从软件包中删除软件包条目并推进了软件包版本,这是this SO question中的答案,但这对我不起作用。

<?xml version="1.0">
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Bundle>
    <Chain>
      <ExePackage
        Id='Program_A'
        SourceFile='$(var.Program_A.TargetDir)\Program_A.exe'
        Cache='no'
        Permanent='yes'
        PerMachine='yes'
        Vital='yes'
        />
      </ExePackage>
      <ExePackage
        Id='Program_B'
        SourceFile='$(var.Program_B.TargetDir)\Program_B.exe'
        Cache='no'
        Permanent='yes'
        PerMachine='yes'
        Vital='yes'
        />
      <RollbackBoundary/>
      <MsiPackage
        Id='Microsoft_InstallerPkg1'
        SourceFile='$(var.Microsoft_InstallerPkg1)'
        Cache='yes'
        Permanent='yes'
        Vital='yes'
        >
      </MsiPackage>
      <RollbackBoundary/>
    <Chain>
  </Bundle>
</Wix>    

1 个答案:

答案 0 :(得分:2)

试试这个

  1. 在新捆绑包中包含相同的exe包。
  2. DetectCondition 设置为 检测是否存在要删除的包。 //必须要评估 真。
  3. 提供卸载命令。 //否则也是必要的 包将使用默认参数执行(通常是 默认情况下安装)