Сведения о виртуальной среде группы подключений
Относится к:
- Windows 10
- Windows 11
Как определяется приоритет пакета
Виртуальная среда и ее текущее состояние связаны с группой подключений, а не с отдельными пакетами. Если удалить пакет App-V из группы подключений, состояние, существующее как часть группы подключений, не будет перенесено вместе с пакетом.
Если один и тот же пакет является частью двух разных групп соединений, необходимо указать, какую группу соединений следует использовать App-V. Например, в группе соединений может быть два пакета, каждый из которых определяет одно и то же значение DWORD реестра.
Используемая группа соединений основана на порядке, в котором пакет отображается в XML-документе AppConnectionGroup :
- Первый пакет имеет наивысший приоритет.
- Второй пакет имеет второй наивысший приоритет.
Рассмотрим следующий пример раздела:
<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) определено в первом и третьем пакетах.
В этом примере определение значения 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 будет иметь одно значение DWORD 5 (HKEY_LOCAL_MACHINE\software\contoso\finapp\region=5). Этот результат означает, что виртуальные приложения в пакетах 1, Пакет 2 и Пакет 3 будут видеть значение 5 при запросе HKEY_LOCAL_MACHINE\software\contoso\finapp\region.
Другие ресурсы виртуальной среды разрешаются аналогичным образом, но обычно в реестре возникают конфликты.
Объединение идентичных путей пакетов в один виртуальный каталог в группах соединений
Если два или более пакетов в группе соединений содержат одинаковые пути к каталогам, пути объединяются в один виртуальный каталог в виртуальной среде группы подключений. Объединение этих путей позволяет приложению в одном пакете получать доступ к файлам, которые находятся в другом пакете.
При удалении пакета из группы подключений приложения удаленного пакета больше не могут получать доступ к файлам из пакетов в группе подключений, из которых он был удален.
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 существует в иерархии виртуальных папок одного пакета приложения, но не находится в другом, App-V будет использовать первый соответствующий файл.