2010-10-11 142 views
0

我的應用程序作爲Windows服務運行。在正常執行過程中,一些數據文件在我用WIX安裝創建的「數據」目錄中生成。在升級過程中,我想將這些文件移動/遷移到升級後的安裝中的相同數據目錄。但是,我遇到了問題。我使用的是「MajorUpgrade」標籤如下:WIX:在主要升級期間保存用戶數據文件

我在後面的過程(afterInstallFinalize)試圖調度,但運行與升級過程中具有的文件鎖服務問題。我已經梳理了堆棧溢出和谷歌,似乎沒有人描述我的情況。其他人有默認的* .ini文件,用戶可以編輯。但是,就我而言,遷移文件應始終安全,因爲沒有默認值。它們只是需要遷移的數據文件。

我以爲我可以通過自定義操作來做到這一點,但不知道該怎麼做。

任何建議將非常感激。

編輯:只要用戶在升級過程中不更改路徑,顯然使用「afterInstallFinalize」對我來說工作正常,即數據文件已遷移。如果在升級過程中更改路徑,我會收到有關文件被鎖定的警告,並要求使用這些文件停止應用程序。但是,在這種情況下,它最終不會遷移文件。

回答

0

最終,我解決了我自己的問題,只需重寫默認對話框行爲,並更改流程,以便在升級時跳過「InstallDirDlg」。