0
を働いていない私は、次のWXSファイルが私のWiXインストーラを定義するWiXの3.10WiXのMajorUpdate要素は
を使用しています。しかし、私は最近、新しいバージョンをインストールする前に古いバージョンを削除したいと思っていました。驚いたことに、それはローカルに動作しますが、それはTFSによって構築されたとき、それは異なった動作を、
私はバージョン2.0.1は、私がプロジェクトの新しいビルドをキューに入れ、取得
- をインストールしていると仮定し、次の例を参照してください私は2.0.2 MSI
- を実行して、私の2.0.2 MSI
- を作成するには、TFSは、私はプログラムをチェックして、インターフェイスを備えており、私は別のTFSは、2.0を構築し、取得キックオフ両方2.0.1および2.0.2
- を参照してください。 3 msi
- 2.0.3 MSIは
- 私はプログラムと機能]ウィンドウをチェックして、私は、このような奇妙な行動を取得していますなぜ
は、誰かが説明することができます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>
のために働いて動作しません。それが事実だったのですが、あなたのシナリオではsed 3部の変数= P。 4つの部分変数が機能するようにするには、 "AllowSameVersionUpgrades"を使用する必要がありますが、3つの部分変数を使用するだけです。 MajorUpgrade要素のページhttp://wixtoolset.org/documentation/manual/v3/xsd/wix/majorupgrade.html –
にちょっとした説明があります。私は部品の一つを落とした! –