2012-02-24 85 views
0

我有一個WIX安裝程序,它從外部CAB文件安裝一些未版本控制的文件。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> 

回答

0

嘗試設置文件的DefaultVersion屬性並在InstallExecute後添加RemoveExisingProducts。如MSDN中所述:

Versioned Files Win—A versioned file gets installed over a nonversioned file. 
相關問題