2012-04-24 145 views
1

我在嘗試配置WiX以免在更新過程中從安裝目錄中刪除一些配置文件的時間最糟糕。WiX安裝程序 - 問題更新

我搜索和Google搜索,但我被困...

這裏是我的。

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" ... > 
    <Product Id="PRODUCT_GUID" ... 
    UpgradeCode="UPGRADE_GUID"> 
    ... 
    <Upgrade Id="$(var.UpgradeCode)"> 
     <UpgradeVersion OnlyDetect="no" Property="REMOVEOLDVERSION" Maximum="$(var.ProductVersion)" IncludeMaximum="no" /> 
     <UpgradeVersion OnlyDetect="yes" Property="NEWERFOUND" Minimum="$(var.ProductVersion)" IncludeMinimum="no" /> 
    </Upgrade> 


    <InstallExecuteSequence> 
     <RemoveExistingProducts After="InstallFinalize" /> 
    </InstallExecuteSequence> 
    ... 

並且這些文件如下:

<Component Id="ConfigurationFiles" Guid="ConfigurationFiles_GUID" NeverOverwrite="yes"> 
     <File Id="SomeConf" Source=... /> 

    </Component> 

我在做什麼錯?

回答

4

如果問題真的是配置文件的去除,那麼我認爲你的意思是指定Permanent="yes",而不是NeverOverwrite="yes"

但是,如果配置文件沒有安裝新版本的安裝程序(這就是爲什麼它們在升級後消失的原因,我假設),那麼它們不應該是正確的?我不確定你爲什麼要保留這種情況下的配置文件。有效標記它們使其無法卸載。

如果你真的擔心覆蓋由用戶對這些配置文件所做的更改,那麼我認爲Windows Installer已經可以正確處理這個問題了。 File Versioning Rules已經基於文件修改時間戳具有「用戶數據」的概念,並且不會覆蓋這些文件。

+0

乾杯,幫助 – 2012-04-24 11:00:28