我有一个需要创建,读取和删除2个xml文件的应用程序。这些文件存储在与应用程序文件相同的目录中。当我在调试中运行此应用程序时它工作正常。但是一旦为此创建安装程序并运行已安装的程序,它就无法创建文件。有什么办法可以将应用程序权限设置为它已安装到的文件夹吗?
任何帮助都会很棒。
谢谢
以下是使用的代码:
if (File.Exists("ApplicationData.xml") == true)
{
File.SetAttributes("ApplicationData.xml", FileAttributes.Normal);
File.Delete("ApplicationData.xml");
}
doc.Save("ApplicationData.xml");
这是抛出System.UnauthorizedAccessException
答案 0 :(得分:1)
如何将文件放入临时目录,而不是开始更改目录权限?您可以从Path.GetTempPath()
获取目录。
答案 1 :(得分:0)
我建议你从你的应用程序创建一个“tmp”文件夹,然后在里面创建你的xml文件。这将保证您拥有文件夹的权限,因为您已在应用程序的权限范围内创建了这些文件夹。
string folderName = @"Folder";
string pathString = System.IO.Path.Combine(folderName, "SubFolder");
System.IO.Directory.CreateDirectory(pathString);
我在这里为您测试过: http://pastebin.com/cAmFQvee
这很好用