1

I have packages that I would like to remove from subsequent releases. What is the proper way to have this package uninstalled from user machines during future updates? (IE: Remove Package_B below).

I have tried removing the package entry from the bundle and progressed the bundle version, which was the answer in this SO question, but that did not work for me.

<?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>    
Community
  • 1
  • 1
Randolph
  • 451
  • 10
  • 24

1 Answers1

2

Try this

  1. Include same exe packages inside new bundle.
  2. Set DetectCondition to detect existence of to be deleted package. //It must be evaluates to true.
  3. Provide UninstallCommand. //It is also necessary otherwise the package will be executed with default params (which are normally install by default)
Yawar
  • 1,016
  • 1
  • 12
  • 14