System.UnauthorizedAccess异常C#

System.UnauthorizedAccess异常C#,c#,exception,unauthorized,C#,Exception,Unauthorized,我目前有一个已编译的C#程序,但每当我运行它时,Windows都会遇到一个问题错误 这是一个System.UnauthorizedAccess错误,我如何在用户端无需任何需要的情况下授予访问权限并删除此错误,因为此程序正在部署给许多人,我不希望他们必须手动进行修复 谢谢您的应用程序是否随时请求管理员权限?您可以使用环境变量APPDATA获取当前用户的应用程序数据文件夹。因此,您可以执行以下操作: string appdata = Environment.GetFolderPath(Environ

我目前有一个已编译的C#程序,但每当我运行它时,Windows都会遇到一个问题错误

这是一个System.UnauthorizedAccess错误,我如何在用户端无需任何需要的情况下授予访问权限并删除此错误,因为此程序正在部署给许多人,我不希望他们必须手动进行修复


谢谢

您的应用程序是否随时请求管理员权限?

您可以使用环境变量APPDATA获取当前用户的应用程序数据文件夹。因此,您可以执行以下操作:

string appdata = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
string configFile = Path.Combine(appdata, configFile);
StreamWriter writer = new StreamWriter(configFile);
writer.WriteLine("my config data");
writer.Close();

您也可以使用这种方法来获取临时文件夹。您甚至可以使用BCL函数生成随机文件名。我想是Path.GetTempFilename()

你能再多给我一点信息吗?您是否有异常的文本或导致异常的代码行?我想我们需要知道您的应用程序正在做什么,才能找到解决方案。但是,如果其他答案是您在本例中寻找的,那么UAC将是您的问题,而写入更易访问的文件夹是您的解决方案。是的,它确实要求管理员权限,我的许多用户在打开应用程序时发现了这一情况。如果应用程序在启动时没有找到配置文件,那么它会创建配置文件,因此在程序文件环境中创建配置文件可能会有问题。在UAC下,如果不提升,则无法在程序文件中创建文件。无论如何,你也不应该在那里这样做,那里有更好的地方保存全局设置。好吧,那么,我该如何将配置文件放在appdata中这样合适的地方呢?