關於 App-V 5.1 中的連線群組虛擬環境
本文涵蓋下列資訊:
如何決定套件優先順序
虛擬環境及其目前的狀態會與聯機群組相關聯,而不是與個別套件相關聯。 如果從連線群組中移除App-V套件,則存在於連線群組中的狀態不會隨著套件一起移轉。
如果相同的套件是兩個不同連線群組的一部分,您必須指出App-V應該使用哪個連線群組。 例如,您在連線群組中可能有兩個封裝,每個封裝都定義相同的登錄 DWORD 值。
用戶端使用的連接群組是以套件出現在 AppConnectionGroup XML 檔內的順序為基礎:
第一個套件的優先順序最高。
第二個套件具有第二高的優先順序。
請考慮下列範例區段:
<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>
假設在第一HKEY_LOCAL_MACHINE\software\contoso\finapp\region
個和第三個套件中定義 () 相同的 DWORD 值ABC
,例如:
套件 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 的虛擬環境具有單一 DWORD 值 5
(HKEY_LOCAL_MACHINE\software\contoso\finapp\region=5
) 。 這表示封裝 1、套件 2 和套件 3 中的虛擬應用程式在查詢 HKEY_LOCAL_MACHINE\software\contoso\finapp\region
時都會看到值5
。
其他虛擬環境資源的解決方式類似,但一般情況是登錄中發生衝突。
將相同的套件路徑合併到連線群組中的一個虛擬目錄
如果連線群組中的兩個或多個套件包含相同的目錄路徑,則路徑會合併到連線群組虛擬環境內的單一虛擬目錄中。 此路徑合併可讓一個套件中的應用程式存取不同套件中的檔案。
當您從連線群組移除套件時,該已移除套件中的應用程式就無法再存取連線群組中其餘套件中的檔案。
App-V 在連線群組中查閱檔案名稱的順序,是由聯機群組指令清單檔案中列出App-V套件的順序所指定。
下列範例顯示 封裝 A 和封裝B 之連接群組中檔名查閱的順序和關聯性。
封裝 A | 套件 B |
---|---|
C:\Windows\System32 | C:\Windows\System32 |
C:\AppTest | C:\AppTest |
在此範例中,當虛擬化應用程式嘗試尋找特定檔案時,會先搜尋套件 A 以尋找相符的檔案路徑。 如果找不到相符的路徑,則會使用下列對應規則來搜尋套件 B:
如果名為 test.txt 的檔案存在於兩個應用程式套件中的相同虛擬資料夾階層中,則會使用第一個相符的檔案。
如果名為 bar.txt的 檔案存在於一個應用程式套件的虛擬資料夾階層中,但另一個應用程式封裝中沒有,則會使用第一個相符的檔案。