2011-01-20 26 views
4

我有一個應用程序將部署到這裏的很多服務器和虛擬機上。此應用程序嚴重依賴於某些文件位置和URL(根據所在公司網絡的哪些部分,如果需要域名,是否使用映射驅動器等,它們可能會有所不同)。其中一些部署不能保證由我設置,有些部署將由其他最終用戶設置。在Clickonce部署之後,最終用戶可以更改應用程序的app.config嗎?

我的解決方案是將這些值放入app.config文件中,以便在部署完成後,將應用程序設置在服務器上的人不得不更改app.config設置以適用於該服務器。

然後我發現了ClickOnce的部署,它可以幫助簡化應用程序的部署和更新,這會使事情變得更簡單。

問題是我找不到一個可靠的方法來允許用戶更改app.config中的值,並最好保持這些值後更新。根據我在網上發現的內容,如果修改系統文件,它會認爲文件已舊,並下載該文件的最新版本,從而撤消對app.config的任何修改。它也似乎像新版本部署到一個完全不同的文件夾比以前的版本,所以升級應用程序將完全消除以前的修改。

我已經搜查了網絡,並且空手而來。有沒有人有任何建議如何處理?

回答

1

我已經通過使用用戶範圍的應用程序設置來解決此問題,如here所述。雖然它不是最好的方法(因爲它是用戶特定的而不是特定於應用程序的),因爲我的應用程序只能由一個用戶運行,所以這很好。

當用戶更改其設置時,更改在更新中保持不變。

2

我會盡可能多地將這些值放入數據庫表中,然後爲管理員提供一個前端來更改其用戶設置。

+0

除了我必須找到一個對所有服務器均可見的數據庫,然後再創建一個表結構以在每個服務器上存儲應用程序設置的額外麻煩。這不是這個app.config存在於第一位的原因嗎?沒有clickonce,它工作得很好。 – KallDrexx 2011-01-20 18:22:51

相關問題