2012-05-07 62 views
0

我正忙於處理一個存儲安裝文件夾(C:/ Program Files/...)內的.config文件的軟件。這個配置文件需要在使用軟件時更新,當用戶具有管理權限時,當前工作正常,但是當非管理員用戶嘗試使用軟件例外時,會發生這種情況,因爲他們沒有權限更新C:/Program Files /。允許非管理員在程序文件中更新.Config文件

用於更新配置文件中的代碼如下:

Configuration config = ConfigurationManager.OpenExeConfiguration(fileName); 
config.AppSettings.Settings.Add("New Setting"); 
config.Save(); 

反正是有允許非管理員用戶更新此配置文件?也許通過改變實際配置文件中的某些東西或改變我更新它的方式?

理想情況下,我會將文件移動到應用程序數據文件夾,但這可能是一個公平的工作,所以我寧願避免這樣做。

任何幫助將不勝感激。

在此先感謝

+0

使用Visual Studio項目設置與用戶範圍:http://stackoverflow.com/questions/453161/best-practice-to-save-application-settings-in-a-windows-application – 79E09796

回答

1

您的安裝程序(甚至是應用程序,當它檢測到它的運行作爲管理員)可以設置配置文件的ACL允許普通用戶讀取和寫入該文件。

但是正確的做法 - 正如您所說的 - 是使用應用程序數據文件夾。

+0

+1爲'做它現在適當'。 '公共'配置數據可以進入'公開'。我通常在那裏用應用程序名稱創建一個子文件夾,在每個版本號的下面還有一個不同的子文件夾。 –

+0

感謝您的回覆,我認爲我會將該文件移動到應用數據中,以便我有足夠的時間完成它。 – dante671

相關問題