C#保存文件的权限

时间:2010-11-03 17:33:17

标签: c#

我有一个我写过的C#应用​​程序。除了一种方法,一切都100%有效。如果启用了UAC,我无法保存文件,甚至不能保存Settings.config。我尝试使用清单文件,没有运气。我做错了什么?

public static void UpdateVersionText()
 {
     var wc = new WebClient();
     var utf8 = new UTF8Encoding();
     var list = utf8.GetString(wc.DownloadData("https://www.agentsarea.co.uk/photolibrary/photos/data/version.txt"));
     wc.Dispose();
     Properties.Settings.Default.version = list.Trim();
     Properties.Settings.Default.Save();
 }

3 个答案:

答案 0 :(得分:6)

将文件保存到更好的位置。您可能正在保存到当前目录,该目录位于/ Program files /中,普通用户不应该写入该目录。尝试保存到%appdata%(每个Windows用户都有自己的目录)或%allusersprofile%(所有用户共享同一目录)。

通过调用以下内容获得任一路径:

当前用户的AppData:

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)

所有用户个人资料目录:

Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)

答案 1 :(得分:1)

除了其他评论之外,您还应考虑将设置写入IsolatedStorage

答案 2 :(得分:0)

您在哪里尝试将其保存到文件系统中?如果你在程序文件中尝试,你将被UAC关闭。尝试AppData或我的文档区域,你应该有更多的运气。