2012-09-03 9 views
9

Ben de benInstalledLocation StorageFolder içinde CreateFileAsync çalışırken erişim reddedildi mi?

var storageFolder = await StorageFolder.GetFolderFromPathAsync("ms-appx:///"); 

çalıştı Ve

ben

gidebilir "değer beklenen aralıkta düşmez" var
StorageFolder storageFolder = Windows.ApplicationModel.Package.Current.InstalledLocation; 
StorageFile file = await storageFolder.CreateFileAsync("fileNmae", Windows.Storage.CreationCollisionOption.ReplaceExisting); 

StorageFolder

InstalledLocation içinde CreateFileAsync çalışırken erişim engellendi var Windows.Storage.ApplicationData.Current.LocalFolder CreateFileAsync ve daha sonra CopyAsync InstalledLocation StorageFolder? InstalledLocation StorageFolder içinde
StorageFolder storageFolder = Windows.Storage.ApplicationData.Current.LocalFolder; 
StorageFile file = await storageFolder.CreateFileAsync("fileName", Windows.Storage.CreationCollisionOption.ReplaceExisting); 

StorageFolder installedLocationFolder = Windows.ApplicationModel.Package.Current.InstalledLocation; 
var result = await file.CopyAsync(installedLocationFolder, "fileName", Windows.Storage.NameCollisionOption.ReplaceExisting); 

ama CreateFileAsync erişim engellendi verir? güvenlik nedeniyle ya da burada yanlış bir şey kodluyorum?

cevap

14

en yükleme dizini uygulaması salt okunur bir konumdur. Ayrıca, veri dosyalarını kurulu konuma yazmanız tavsiye edilmez. Bu sadece uygulamanın kullanımı içindir veri depolamak gerekiyorsa, veri ömür boyu bağlı

Windows.Storage.StorageFolder temporaryFolder = ApplicationData.Current.TemporaryFolder; 

StorageFolder localFolder = ApplicationData.Current.LocalFolder; 

veya

kullanmalıdır.

+0

Yanlış olmazsam dizini ve alt dizinleri vardır salt okunur yerleri yükleyin. – isa