接続グループの仮想環境について
適用対象:
- Windows 10
- Windows 11
パッケージの優先順位の決定方法
仮想環境とその現在の状態は、個々のパッケージではなく、接続グループに関連付けられます。 接続グループから App-V パッケージを削除した場合、接続グループの一部として存在していた状態はパッケージと共に移行されません。
同じパッケージが 2 つの異なる接続グループの一部である場合は、App-V で使用する接続グループを指定する必要があります。 たとえば、接続グループに 2 つのパッケージがあり、それぞれに同じレジストリ DWORD 値が定義されている場合があります。
使用される接続グループは、 AppConnectionGroup XML ドキュメント内にパッケージが表示される順序に基づいています。
- 最初のパッケージの優先順位が最も高くなります。
- 2 番目のパッケージの優先順位は 2 番目に高くなります。
次の例のセクションを考えてみましょう。
<appv:Packages>
<appv:Package
PackageId="A8731008-4523-4713-83A4-CD1363907160"
VersionId="E889951B-7F30-418B-A69C-B37283BC0DB9"
/>
<appv:Package
PackageId="1DC709C8-309F-4AB4-BD47-F75926D04276"
VersionId="01F1943B-C778-40AD-BFAD-AC34A695DF3C"
/>
<appv:Package
PackageId="04220DCA-EE77-42BE-A9F5-96FD8E8593F2"
VersionId="E15EFFE9-043D-4C01-BC52-AD2BD1E8BAFA"
/>
</appv:Packages>
同じ DWORD 値 ABC (HKEY_LOCAL_MACHINE\software\contoso\finapp\region) が 1 番目と 3 番目のパッケージで定義されているとします。
この例では、DWORD 値の定義は次のようになります。
- パッケージ 1 (A8731008-4523-4713-83A4-CD1363907160): HKEY_LOCAL_MACHINE\software\contoso\finapp\region=5
- パッケージ 3 (04220DCA-EE77-42BE-A9F5-96FD8E8593F2): HKEY_LOCAL_MACHINE\software\contoso\finapp\region=10
パッケージ 1 が最初に表示されるため、AppConnectionGroup の仮想環境の 1 つの DWORD 値は 5 (HKEY_LOCAL_MACHINE\software\contoso\finapp\region=5)。 この結果は、パッケージ 1、パッケージ 2、およびパッケージ 3 の仮想アプリケーションが、HKEY_LOCAL_MACHINE\software\contoso\finapp\region を照会するときに値 5 がすべて表示されることを意味します。
他の仮想環境リソースも同様の方法で解決されますが、通常はレジストリで競合が発生します。
同じパッケージ パスを接続グループ内の 1 つの仮想ディレクトリにマージする
接続グループ内の 2 つ以上のパッケージに同じディレクトリ パスが含まれている場合、パスは接続グループの仮想環境内の 1 つの仮想ディレクトリにマージされます。 これらのパスをマージすると、1 つのパッケージ内のアプリケーションが、別のパッケージ内のファイルにアクセスできるようになります。
接続グループからパッケージを削除すると、削除されたパッケージのアプリケーションは、削除された接続グループ内のパッケージからファイルにアクセスできなくなります。
App-V は、接続グループ マニフェスト ファイルに App-V パッケージが一覧表示される順序で、接続グループ内のファイルの名前を検索します。
次の例は、 パッケージ A と パッケージ B の接続グループ内のファイル名参照の順序と関係を示しています。
パッケージ A | パッケージ B |
---|---|
C:\Windows\System32 | C:\Windows\System32 |
C:\AppTest | C:\AppTest |
仮想化されたアプリケーションが特定のファイルを検索しようとすると、App-V はパッケージ A で一致するファイル パスを検索します。パッケージ A に一致するパスが見つからない場合は、次のマッピング 規則を使用してパッケージ B を検索します。
- test.txtという名前 の ファイルが両方のアプリケーション パッケージ内の同じ仮想フォルダー階層に存在する場合、App-V は最初に一致するファイルを使用します。
- bar.txt という名前のファイルが、1 つのアプリケーション パッケージの仮想フォルダー階層に存在するが、もう一方のアプリケーション パッケージには存在しない場合、App-V は最初に一致するファイルを使用します。