2016-12-09 7 views
0

を働いていない私は、次のWXSファイルが私のWiXインストーラを定義するWiXの3.10WiXのMajorUpdate要素は

を使用しています。しかし、私は最近、新しいバージョンをインストールする前に古いバージョンを削除したいと思っていました。驚いたことに、それはローカルに動作しますが、それはTFSによって構築されたとき、それは異なった動作を、

私はバージョン2.0.1は、私がプロジェクトの新しいビルドをキューに入れ、取得

  1. をインストールしていると仮定し、次の例を参照してください私は2.0.2 MSI
  2. を実行して、私の2.0.2 MSI
  3. を作成するには、TFSは、私はプログラムをチェックして、インターフェイスを備えており、私は別のTFSは、2.0を構築し、取得キックオフ両方2.0.1および2.0.2
  4. を参照してください。 3 msi
  5. 2.0.3 MSIは
  6. 私はプログラムと機能]ウィ​​ンドウをチェックして、私は、このような奇妙な行動を取得していますなぜ

は、誰かが説明することができます2.0.2および2.0.3(2.0.1が削除されました!)を参照してください?私はここで、TFSのビルド番号を一致させるために新しいGUIDとversion要素にproduct Id要素を更新前のビルドスクリプト(私は新しいGUIDおよび各ビルドに新しいバージョン番号を保証しています)

がある持っています私のWXS

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <Product Id="*" 
      Name="xxx" 
      Language="1033" 
      Version="0.0.0.0" 
      Manufacturer="xxx" 
      UpgradeCode="FC30BA3E-619C-4247-988E-2823831E9E04"> 
    <Package Compressed="yes" 
      InstallerVersion="200" 
      Manufacturer="xxx" 
      Description="xxx" 
      Comments="(C) 2016 xxx" 
      Platform="x64" 
      InstallScope="perMachine"/> 
      ... 
    <MajorUpgrade 
      Schedule="afterInstallInitialize" 
      DowngradeErrorMessage="A newer version of [ProductName] is already installed."/> 
    </Product> 
</Wix> 

答えて

1

まあ、それは例えば バージョンは3つの部分でなければならないことが判明していない4:1.0.0.1はhoever 1.0.1は、私が思っていた私の場合

+0

のために働いて動作しません。それが事実だったのですが、あなたのシナリオではsed 3部の変数= P。 4つの部分変数が機能するようにするには、 "AllowSameVersionUpgrades"を使用する必要がありますが、3つの部分変数を使用するだけです。 MajorUpgrade要素のページhttp://wixtoolset.org/documentation/manual/v3/xsd/wix/majorupgrade.html –

+0

にちょっとした説明があります。私は部品の一つを落とした! –

関連する問題