2009-06-17 47 views
6

This question說明我的問題正是,但我使用的app.configConfigurationManager自定義配置部分,因此該解決方案提出了有不適......如何使用ConfigurationManager通過ClickOnce更新來保持app.config?

基本上,我的問題是,當更新的ClickOnce應用程序,它會使用新的app.config安裝到不同的目錄中,從而刪除所做的任何更改。我的應用程序使用app.config來保存應用程序設置,所以這非常糟糕......合併的更新會非常出色(與其他問題類似),但幾乎所有的自動化功能都會很好。

或者我應該只使用一個設置位置爲我的app.config文件,而不是嘗試使用默認位置?

回答

2

ClickOnce應該在更新之間保持用戶設置,但是由於未知的原因(並且結果不好),我有一次或兩次失敗。我還沒有嘗試過自定義配置設置,但我對ClickOnce不覆蓋設置的能力失去了信心。

我打算使用的方法是手動處理ClickOnce更新,而不是允許應用程序。檢查更新並提示用戶進行安裝。我還有一些用戶不接受更新,這是一個很難從中恢復的問題。通過手動處理更新,我希望能夠在更新之前將用戶設置讀入內存,然後在更新完成後將其寫回。有一個應用程序更新事件應該用於此目的。

也許這種方法也適用於你。

編輯補充參考資料:

谷歌搜索ApplicationDeployment也應該有所幫助。

+0

Whereabouts是這個ApplicationUpdated事件?我無法在對象瀏覽器中找到它...此外,這並沒有幫助解決問題(雖然這是一個很好的功能,我從不喜歡ClickOnce對話框),但更新仍安裝到新目錄中,所以舊的app.config丟失 – 2009-06-17 14:14:42

1

如果可以,請使用Settings.settings(在項目中的屬性下找到)來存儲您的客戶配置。

ClickOnce會自動合併您的用戶設置,您不必擔心任何事情。看看這樣的更多說明:http://www.dotnetperls.com/settings-visual-studio

相關問題