我嘗試使用我的app.config中的自定義配置節以下問題。我使用自定義配置節來跟蹤一個選擇的文件夾,我想用我的程序來備份像這樣的:保存自定義配置節結果在System.UnauthorizedAccessException
<CustomConfigSection>
<BackupLocations>
<clear />
<add path="C:\Users\Marcel\Documents\" />
</BackupLocations>
</CustomConfigSection>
現在,每當我保存配置文件,我得到這個異常:
System.Configuration.ConfigurationErrorsException:發生錯誤 加載配置文件:訪問路徑C:\ Program Files (x86)\ Backup Solutions \ uqhuxi1j.tmp被拒絕。 (C:\ Program Files文件(x86)的\備份方案\ BS.exe.Config)---> System.UnauthorizedAccessException的
我使用的代碼是:
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
CustomConfigSection section = (CustomConfigSection)config.GetSection("CustomConfigSection");
section.BackupLocations.Add(element);
section.SectionInformation.ForceSave = true;
config.Save(ConfigurationSaveMode.Full);
該作品以管理員身份登錄時纔會出現問題,並且只有在PC上配置了多個帳戶時纔會發生,所以這意味着這是UAC /權限問題。作爲普通用戶,我沒有該文件夾的正確寫入權限。
現在我的問題(S):
爲什麼用戶的設置值保存到應用程序數據和自定義配置部分試圖在ApplicationFolder/exe.config救?我怎樣才能讓我的自定義節保存到AppData配置文件呢?
我需要能夠保存我的數據爲每個用戶,無論權限。那麼我可以使用自定義配置部分來實現這一點,還是我需要一種不同的方法?最好我想將我的自定義部分保存到AppData配置文件中。我不想在我的安裝程序中使用技巧來調整對我的應用程序文件夾的權限以允許它寫入。 大多數我不想在啓動我的程序時需要管理員權限!
感謝您的回覆,非常感謝。