使用C#在metro应用中设置文件夹权限

时间:2012-08-02 12:51:56

标签: c# xaml windows-8 windows-runtime

我正在使用Windows 8发布预览和C#(VS 2012)开发metro应用程序,我一直在创建异步创建文件。我正在使用以下代码在文件夹

中创建文件
StorageFolder storageFolder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("Data");            
StorageFile File= await storageFolder.CreateFileAsync("DataFile",CreationCollisionOption.ReplaceExisting); 
await Windows.Storage.FileIO.WriteTextAsync(File, result);

“数据”是foldername,“result”是文本,“DataFile”是文件名,但我在此行获得了UnAuthorisedAccessException

 StorageFile File= await storageFolder.CreateFileAsync("DataFile",CreationCollisionOption.ReplaceExisting); 

我知道我的文件夹“Data”是只读的,但是如何将文件夹属性更改为可写,我也尝试了storageFolder.Attributes属性,但它只是readonly属性。

1 个答案:

答案 0 :(得分:3)

您在InstalledLocation中没有获得写访问权限。它基本上就像写入“Program Files”(它实际上是“Program Files”中的一个文件夹),据我所知,出于安全原因,它早在Vista中被阻止了。

您应该尝试写入ApplicationData.Current.LocalFolder。