3

ファイル(filepickerで選択)を現在実行中のメトロスタイルアプリのinstalldirにコピーする方法はありますか?次のコマンドでInstallationFolderを取得しようとしました。

Windows.ApplicationModel.Package package = Windows.ApplicationModel.Package.Current;
Windows.Storage.StorageFolder installedLocation = package.InstalledLocation;

しかし、InstalledLocationを取得している間、常に次のエラーが発生します。

Error HRESULT E_FAIL has been returned from a call to a COM component.

これは、アプリのデバッグ/ストアからインストールしない場合の問題でしょうか?この例外を修正するにはどうすればよいですか?

ファイルのコピーは。で可能である必要がありますWindows.Storage.CopyAsync(IStroageFolder, ...)。InstalledLocationはタイプからStorageFolderです。それが許可されている場合、誰かが何らかの経験を持っていますか、それとも私はsthを取得しますか?セキュリティ例外のように?

4

1 に答える 1

2

InstalledLocationは読み取り専用ですが、アプリケーションのデータストレージフォルダー(ApplicationData.Current.LocalFolder)に書き込むことができます。

これは機能します:

var fop = new FileOpenPicker();
fop.FileTypeFilter.Add(".txt");
StorageFile file = await fop.PickSingleFileAsync();
if (file != null)
    await file.CopyAsync(ApplicationData.Current.LocalFolder);

また、アプリケーションマニフェストでライブラリアクセス機能を確認する必要がある場合もあります。

于 2012-04-25T13:41:33.363 に答える