我使用的是WiX 3.8(我認爲最新的穩定版本),並且我似乎無法獲得配置文件而不是在安裝期間卸載並重新安裝一個重大升級。WiX 3.8在主要升級期間保持配置文件狀態
有很多這方面的問題 - 很多答案指出this網站是一個很好的答案。然而,給出的建議不起作用(對我而言)。
該網站所說的是將每個配置文件放置在其自己的組件中,並將該文件標記爲組件的關鍵路徑。類似這樣的:
<Component Id="config.xml"
Guid="*"
Directory="folder_where_config_file_lives">
<File Id="config_file"
Source="$(var.Project.ProjectDir)bin\Release\configFile.xml"
KeyPath="yes"/>
</Component>
太好了。接下來,它說,InstallFiles行動,像這樣經過調度RemoveExistingProduct:
<InstallExecuteSequence>
<RemoveExistingProducts After="InstallFiles"/>
</InstallExecuteSequence>
問題是,當我編譯,我得到這個錯誤:
The InstallExecuteSequence table contains an action 'RemoveExistingProducts' that is declared in two different locations. Please remove one of the actions or set the Overridable='yes' attribute on one of their elements.
This person也有這個問題,但他似乎已經解決了它。什麼固定則他將調度屬性的,從而有效地擺脫了「兩個不同的位置」申報的問題(我猜):
所以,當我代替時間表改變屬性(其包含一個屬性本身,我猜),它不僅不起作用 - 配置文件在升級過程中被移除和替換 - 它會導致更多的怪異。我的項目有一個帶有許多MSI的引導程序,儘管我獲得了安裝包含配置文件的MSI之後的所有MSI的日誌文件,但未安裝它們。
讓我重複一遍:日誌說MSI已安裝,但它們不是。在日誌文件中可能找不到某個地方的回滾,但是讀取MSI日誌文件時,它看起來像安裝游泳一樣。
有沒有人知道配置文件到而不是在Wix 3.8的主要升級過程中被刪除和重新安裝?我上面提到的是來自互聯網的最好的信息,我可以找到,但我已經嘗試了幾乎所有的東西都無濟於事。
哈利路亞!你的建議有效!你給的這些鏈接...... MSDN似乎認爲讀者理解了很多術語。是否有一個「Windows安裝程序適合那些被當作寶寶放在腦袋裏的人」教科書或者你可以推薦的東西?我有ORCA,所以我可以看看序列,但是我還沒有找到從頭開始學習這些東西的地方(尼克拉米雷斯的教科書,就像一個新手一樣好,沒有覆蓋到它的深度需要真正發展)。你從哪裏學到的? (Snarky答案高興地接受。) – Bob
看看你是否仍然可以獲得Windows安裝程序的權威指南,舊的,但仍然相關,涵蓋基礎知識:)。 – PhilDW
我會。謝謝。 – Bob