接続グループの仮想環境

このトピックでは、次の操作を行います。

パッケージの優先順位の決定方法

仮想環境とその現在の状態は、個々のパッケージではなく、接続グループに関連付けられます。 App-V パッケージが接続グループから削除された場合、接続グループの一部として存在していた状態はパッケージと共に移行されません。

同じパッケージが 2 つの異なる接続グループの一部である場合は、App-V で使用する接続グループを指定する必要があります。 たとえば、接続グループに 2 つのパッケージがあり、それぞれが同じレジストリ DWORD 値を定義している場合があります。

使用される接続グループは、 AppConnectionGroup XML ドキュメント内にパッケージが表示される順序に基づいています。

  • 最初のパッケージの優先順位が最も高くなります。

  • 2 番目のパッケージの優先順位は 2 番目に高くなります。

次の例のセクションを考えてみましょう。

<appv:Packages><appv:PackagePackageId="A8731008-4523-4713-83A4-CD1363907160"VersionId="E889951B-7F30-418B-A69C-B37283BC0DB9"/><appv:PackagePackageId="1DC709C8-309F-4AB4-BD47-F75926D04276"VersionId="01F1943B-C778-40AD-BFAD-AC34A695DF3C"/><appv:PackagePackageId="04220DCA-EE77-42BE-A9F5-96FD8E8593F2"VersionId="E15EFFE9-043D-4C01-BC52-AD2BD1E8BAFA"/></appv:Packages>

同じ DWORD 値 ABC (HKEY_LOCAL_MACHINE\software\contoso\finapp\region)が、次のような 1 番目と 3 番目のパッケージで定義されているとします。

  • パッケージ 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 つの仮想ディレクトリにマージする

接続グループ内の複数のパッケージに同じディレクトリ パスが含まれている場合、パスは接続グループ仮想環境内の 1 つの仮想ディレクトリにマージされます。 このパスのマージにより、1 つのパッケージ内のアプリケーションは、別のパッケージ内のファイルにアクセスできます。

接続グループからパッケージを削除すると、削除されたパッケージ内のアプリケーションは、接続グループ内の残りのパッケージ内のファイルにアクセスできなくなります。

App-V が接続グループ内のファイルの名前を検索する順序は、接続グループ マニフェスト ファイルに App-V パッケージが一覧表示される順序によって指定されます。

次の例は、 パッケージ Aパッケージ B の接続グループ内のファイル名参照の順序と関係を示しています。

パッケージ A パッケージ B

C:\Windows\System32

C:\Windows\System32

C:\AppTest

C:\AppTest

 

上の例では、仮想化されたアプリケーションが特定のファイルを検索しようとすると、パッケージ A が最初に検索され、一致するファイル パスが検索されます。 一致するパスが見つからない場合は、次のマッピング 規則を使用してパッケージ B が検索されます。

  • test.txtという名前のファイルが両方のアプリケーション パッケージ内の同じ仮想フォルダー階層に存在する場合は、最初に一致するファイルが使用されます。

  • bar.txtという名前のファイルが、1 つのアプリケーション パッケージの仮想フォルダー階層に存在し、もう一方のアプリケーション パッケージには存在しない場合は、最初に一致するファイルが使用されます。

接続グループの管理