1

後続のリリースから削除したいパッケージがあります。今後の更新中にこのパッケージをユーザーのマシンからアンインストールする適切な方法は何ですか? (IE: 以下の Package_B を削除します)。

バンドルからパッケージ エントリを削除しようとし、バンドル バージョンを進めました。これは、この SO の質問の回答でしたが、うまくいきませんでした。

<?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を設定して、削除するパッケージの存在を検出します。// true に評価される必要があります。
  3. UninstallCommandを提供します。//それ以外の場合は、パッケージがデフォルトのパラメーターで実行されることも必要です (通常、デフォルトでインストールされます)
于 2013-03-01T06:52:24.413 に答える