外部 CAB ファイルからいくつかのバージョン管理されていないファイルをインストールする WIX インストーラーがあります。
私の問題は、バージョン管理されていないファイルを正しくアップグレードするには、InstallInitialize の前に RemoveExistingProducts が必要だと言われたことです。ただし、外部のcabファイルでおかしくなり、ファイルがCABファイルにないというエラーが表示され続けます(存在する場合でも)。
RemoveExistingProducts が InstallExecute の後にある場合、初回は CAB ファイルで正しくインストールされますが、アップグレード中にファイルはアップグレードされません。
以下にいくつかのスニペットを示します。
<Media Id="2" Cabinet="Videos.cab" EmbedCab="no" CompressionLevel="none" />
...
<Component Id="Video01" Guid="{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}" DiskId="2" >
<File Id="Video01.wmv" DiskId="2" Vital="no" Source="BLAH.wmv" Name="Video01.wmv"/>
</Component>
...
<InstallExecuteSequence>
<Custom Action="PreventDowngrading" After="FindRelatedProducts">NEWERPRODUCTFOUND</Custom>
<!--<RemoveExistingProducts After="InstallExecute" />-->
<RemoveExistingProducts Before="InstallInitialize" />
</InstallExecuteSequence>