2009-11-13 58 views
1

我正在爲用於調試嵌入式ARM內核(OpenOCD)的軟件執行安裝程序,此安裝程序會自動刪除以前的版本 - 這很簡單。但是,由於各種(內部)兼容性問題等原因,有時候可能需要安裝不止一個版本(每個版本都有自己的文件夾,因此這裏沒有衝突)。有條件地卸載以前版本的Wix

我試圖創建一個安裝程序,它可以在特徵樹(或其他任何地方)中有選項來卸載(或不安裝)以前的版本。

基本上沒有這樣的安裝順序:

<InstallExecuteSequence> 
    <Custom Action="NewerVersionDetected" After="FindRelatedProducts">DOWNGRADE</Custom> 
    <RemoveExistingProducts After="InstallFinalize"/> 
</InstallExecuteSequence> 

我知道RemoveExistingProducts可以通過將... RemoveExistingProducts標籤,但之間的狀態應該是什麼的條件是爲條件?有很多有關製作特徵條件的信息或關於如操作系統版本和某些註冊表項等條件的信息,但我還沒有找到任何有關「用戶定義條件」的有用信息...

假設在特徵樹有這樣的元素:

<Feature Id="UninstallOlderVersionFeature" Title="Uninstal previous versions" Level="1" Description="..."/> 

如何使這個功能(或任何其他方法,用戶可以在安裝過程中選擇 - 問題框或單獨的窗口或不惜一切代價)卸載以前版本的條件?

任何幫助表示讚賞(我和安裝程序的用戶),因爲我不是在維克斯和XML很好(我是一個嵌入式的人(;)

如果在整體上的更多細節。需要維克斯文件 - 告訴我,我會發布的相關位

回答

2

試試這個:

<RemoveExistingProducts After="InstallFinalize"> 
<![CDATA[&UninstallOlderVersionFeature=3]]> 
</RemoveExistingProducts> 

這是閹的功能選擇的狀態「3」表示該功能選擇安裝。 。

+0

就是這樣 - 非常感謝你! – 2009-11-13 16:07:16

相關問題