いくつかのファイル(.NETプログラムバージョン6.0.0.0)をインストールする非常に単純なWiXプロジェクト(バージョン3.7)があります。WiXのMajorUpgrade機能を使用して新しいバージョン6.0.1.0をリリースする準備ができました。
Product要素でUpgradeCodeを同じに保ち、バージョンを6.0.0.0から6.0.1.0に変更します
<Product Id="*" Name="MyApp" Version="6.0.1.0" Manufacturer="Me"
UpgradeCode="$(var.TheUpgradeCodeGUID)">
6.0.0.0がインストールされているマシンで、新しいインストーラーを実行します。
古いバージョン6.0.0.0の削除は正常に実行されます(インストールされているすべてのファイルが削除されます)が、インストーラーが新しいバージョンをインストールし続けると、サードパーティのDLLとサードパーティのEXEの2つのファイルが失われます(まだインストールされていません)。変更されました)は再インストールされていません。
<Component Id="AutomaticUpdaterWPF.dll" Guid="*">
<File Id="AutomaticUpdaterWPF.dll" Source="AutomaticUpdaterWPF.dll" KeyPath="yes" Checksum="yes" />
</Component>
<Component Id="wyUpdaterProgram" Guid="*">
<File Id="wyUpdaterProgram" Source="wyUpdate.exe" KeyPath="yes" Checksum="yes" />
</Component>
<ComponentGroup>内の他のすべてのファイル(一部は変更済み、一部は未変更(他のサードパーティDLLを含む))は、メジャーアップグレード中に正しくインストールされています。
メジャーアップグレード後に「修復」をクリックすると、2つの欠落しているファイルが再表示されます。また、バージョン6.0.1.0を初めてインストールする場合(アップグレードはありませんが、最初にクリーンなマシンにインストールします)、これら2つのファイルは直接正常にインストールされます。(いくつかのWindowsマシン(XP、7、および8)でテスト済み)
誰かが何が間違っているのか、そしてそれを修正する方法を提案しますか?