3

「デスクトップ ブリッジ」変換ツールを使用して、Win32 アプリ (ズーム プレーヤー) を UWP AppX モデルに変換中です。

Windows VISTA で導入されたフォルダー モデルでは、作成/書き込みアクセスを必要としないアプリケーションのファイルは " Program Files " フォルダーの下にインストールされ、作成/書き込みアクセスが必要なファイルはLocalAppDataフォルダー (" C:\Users\ bLight\AppData\Local " ( FOLDERID_LocalAppDataパラメーターを指定して " SHGetKnownFolderPath " WinAPI 関数を呼び出す場合)。

私の問題は、 Desktop Bridgeによって作成された AppX ファイルが、インストーラーがインストール対象のファイルを "FOLDERID_LocalAppData" ( C:\Users\bLight\AppData\Local\Zoom Player ) にインストールすることです。

C:\Program Files\WindowsApps\ZoomPlayer_12.5.0.0_x86__63ghcm0aqanjp\VFS\Users\ContainerAdministrator\AppData\Local\Zoom Player

また、インストールされたアプリを実行した後の読み取りまたは書き込みの試行は、次の場所にリダイレクトされます。

c:\users\bLight\appdata\local\packages\zoomplayer_63ghcm0aqanjp\LocalCache\Local\Zoom Player

これは、インストールされたファイルにアクセスできないことを意味します。

インストーラーと Win32 アプリの両方が、同じパラメーターで "SHGetKnownFolderPath" を使用して、ローカルの AppData フォルダーを取得します。

これを解決する方法はありますか?

4

1 に答える 1

1

これを解決する方法はありますか?

変換後、AppData は、各 UWP アプリのプライベート ストアであるローカル アプリ データ ストアにリダイレクトされます。

次のシナリオに注意してください:アプリはアプリのインストール ディレクトリに書き込みます。たとえば、アプリは、exe と同じディレクトリに配置したログ ファイルに書き込みます。これはサポートされていないため、ローカル アプリ データ ストアなどの別の場所を探す必要があります。

こちらの「デスクトップ アプリを UWP に変換するための準備」セクションを参照してください。

----------------アップデート1----------------

ロブはあなたのMSDN の質問に正しい方向性を示しました

見積もり:

AppX インストーラーが一部のファイルをローカルのアプリ データ フォルダーに自動的に配置することは不可能ですか?

はい。推奨されるパターンは、インストール パッケージにテンプレート ファイルを含め、最初の使用時にそれらをローカルのアプリ データ フォルダーにコピーすることです。アプリ パッケージがインストールされると、システムにコピーされます。初期化コードは実行されません。どのユーザーがアプリを実行し、ユーザー データにアクセスできないかはわかりません。2 番目のユーザーがアプリをインストールすると、ユーザーは既にインストールされているアプリへの参照を取得し、新しいものは何もコピーまたはインストールされません。

通常の Win32 インストーラーは、ファイルを「Program Files」フォルダーに配置するだけでなく、編集可能なファイルを「Local AppData」フォルダーに配置します。

これは問題のシナリオのようです。関連チームが確認し、ドキュメントを改良するよう通知します。

于 2016-09-12T11:55:45.833 に答える