WIX:在单独的cab文件中升级未版本控制的文件

时间:2012-02-24 05:09:50

标签: wix cab major-upgrade

我有一个WIX安装程序,可以从外部CAB文件安装一些未版本控制的文件。

我的问题是,我告诉我在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>

1 个答案:

答案 0 :(得分:0)

尝试设置文件的DefaultVersion属性,并在InstallExecute之后添加RemoveExisingProducts。如MSDN中所述:

Versioned Files Win—A versioned file gets installed over a nonversioned file.
相关问题