代码之家  ›  专栏  ›  技术社区  ›  Art W

保存文件的权限

c#
  •  1
  • Art W  · 技术社区  · 15 年前

    我写了一个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 回复  |  直到 15 年前
        1
  •  6
  •   Gabriel Magana    15 年前

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

    您可以通过调用以下任一路径:

    当前用户的AppData:

    Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
    

    所有用户配置文件目录:

    Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)
    
        2
  •  1
  •   Tim Coker    15 年前

    除了其他注释外,还应考虑将设置写入 IsolatedStorage .

        3
  •  0
  •   Alex    15 年前

    您试图将其保存到文件系统的哪个位置?如果你试图进入程序文件,你会被UAC关闭。尝试AppData或“我的文档”区域,您应该有更多的运气。