1

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

我尝试从捆绑包中删除包条目并改进捆绑包版本,这是这个 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>    
4

1 回答 1

2

尝试这个

  1. 在新包中包含相同的 exe 包。
  2. 设置DetectCondition以检测是否存在要删除的包。//它必须被评估为真。
  3. 提供卸载命令。//这也是必要的,否则包将使用默认参数执行(通常默认安装)
于 2013-03-01T06:52:24.413 回答