我有一个我写过的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();
}
答案 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或我的文档区域,你应该有更多的运气。