Публикация приложений и взаимодействие с клиентами

Назначение: Application Virtualization 5.1

В этой статье представлены технические сведения об основных операциях клиента App-V и их интеграции с локальной операционной системой.

  • Файлы пакетов App-V, созданные секвенсором

  • Содержимое с расширением .appv

  • Места хранения данных клиента App-V

  • Реестр пакета

  • Поведение хранилища пакетов App-V

  • Перемещение реестра и данных

  • Управление жизненным циклом приложения клиента App-V

  • Интеграция пакетов App-V

  • Обработка динамической конфигурации

  • Параллельные сборки

  • Ведение журнала клиента

Дополнительную справочную информацию см. в разделе Страница загрузки ресурсов документации Microsoft Application Virtualization (App-V).

Файлы пакетов App-V, созданные секвенсором

Секвенсор создает пакеты App-V и формирует виртуализированные приложения. В процессе виртуализации создаются следующие файлы.

Файл Описание

APPV

  • Файл основного пакета, содержащий записи ресурсов и сведения о состоянии из процесса виртуализации.

  • Архитектура файла пакета, сведения о публикации и реестр в размеченной форме, который при доставке может быть повторно применен к компьютеру и к конкретному пользователю.

MSI

Исполняемая оболочка развертывания, позволяющая развернуть файлы с расширением .appv вручную или с помощью сторонней платформы развертывания.

_DeploymentConfig.XML

Файл для настройки публикации параметров по умолчанию применительно ко всем приложениям в пакете, развертываемом глобально для всех пользователей компьютера, на котором работает клиент App-V.

_UserConfig.XML

Файл для настройки публикации параметров по умолчанию применительно ко всем приложениям в пакете, развертываемом для конкретного пользователя компьютера, на котором работает клиент App-V.

Report.xml

Сводка сообщений, сформированных в результате виртуализации, в том числе о пропущенных драйверах, файлах и разделах реестра.

CAB

Необязательно: Файл ускорителя пакетов для автоматического перестроения ранее виртуализированного пакета виртуальных приложений.

.appvt

Необязательно: Файл шаблона секвенсора для хранения параметров секвенсора, часто используемых многократно.

Сведения о виртуализации см. в разделе Руководство по виртуализации в Application Virtualization.

Содержимое с расширением .appv

Файл с расширением .appv представляет собой контейнер, где в виде единой сущности хранятся файлы в формате XML и в других форматах. Этот файл строится из формата AppX, в основе которого лежит стандарт Open Packaging Conventions (OPC).

Для просмотра содержимого файла с расширением .appv создайте копию пакета, затем переименуйте скопированный файл, изменив расширение на .zip.

Файл с расширением .appv содержит следующие папки и файлы, используемые при создании и публикации виртуального приложения.

Имя Тип Описание

Корневая папка

Папка с файлами

Каталог, содержащий файловую систему для виртуализированного приложения, которая записана во время виртуализации.

[Content_Types].xml

XML-файл

Перечень основных типов содержимого в файле с расширением .appv (например, DLL, EXE, BIN).

AppxBlockMap.xml

XML-файл

Макет файла с расширением .appv, в котором применяются элементы File, Block и BlockMap, обеспечивающие размещение и проверку файлов в пакете App-V.

AppxManifest.xml

XML-файл

Метаданные для пакета, содержащие необходимую информацию для добавления, публикации и запуска пакета. Включает в себя точки расширения (сопоставления и ярлыки для типов файлов), а также связанные с пакетом имена и идентификаторы GUID.

FilesystemMetadata.xml

XML-файл

Перечень файлов, собранных во время виртуализации, включая атрибуты (например, каталоги, файлы, непрозрачные каталоги, пустые каталоги, полные и сокращенные имена).

PackageHistory.xml

XML-файл

Сведения о компьютере, где выполняется виртуализация (версия операционной системы, версия Internet Explorer, версия .NET Framework), и о процессе виртуализации (обновление, версия пакета).

Registry.dat

DAT-файл

Разделы и значения реестра, записанные во процессе виртуализации пакета.

StreamMap.xml

XML-файл

Перечень файлов для публикации и функциональный блок публикации. Функциональный блок публикации содержит ICO-файлы и необходимые части файлов (DLL и EXE) для публикации пакета. При наличии основного функционального блока он содержит файлы, оптимизированные для потоковой передачи в процессе виртуализации.

Места хранения данных клиента App-V

Задачи, выполняемые клиентом App-V, обеспечивают правильный запуск виртуальных приложений и их работу в соответствии с требованиями к локально установленным приложениям. Для процесса открытия и запуска виртуальных приложений требуется сопоставление из виртуальной файловой системы и реестра, чтобы приложение имело необходимые компоненты традиционного приложения, ожидаемые пользователями. В этом разделе приведено описание ресурсов, необходимых для запуска виртуальных приложений, и указано место хранения этих ресурсов в App-V.

Имя Расположение Описание

Хранилище пакетов

%ProgramData%\App-V

Расположение по умолчанию, предназначенное для чтения только файлов пакета

Каталог компьютера

%ProgramData%\Microsoft\AppV\Client\Catalog

Содержит документы по конфигурации отдельных компьютеров

Каталог пользователя

%AppData%\Microsoft\AppV\Client\Catalog

Содержит документы по конфигурации для отдельных пользователей

Резервные копии ярлыков

%AppData%\Microsoft\AppV\Client\Integration\ShortCutBackups

Хранит предыдущие точки интеграции, позволяющие выполнить восстановление при отмене публикации пакета

Перемещаемое копирование при записи (COW)

%AppData%\Microsoft\AppV\Client\VFS

Перемещаемое расположение с возможностью записи для изменения пакета

Локальное копирование при записи (COW)

%LocalAppData%\Microsoft\AppV\Client\VFS

Неперемещаемое расположение с возможностью записи для изменения пакета

Реестр компьютера

HKLM\Software\Microsoft\AppV

Содержит сведения о состоянии пакета, включая VReg для пакетов, опубликованных на отдельном компьютере или глобально (на кусте компьютеров)

Реестр пользователя

HKCU\Software\Microsoft\AppV

Содержит сведения о состоянии пакета пользователя, включая VReg

Классы реестра пользователя

HKCU\Software\Classes\AppV

Содержит дополнительные сведения о состоянии пакета пользователя

Дополнительные сведения для этой таблицы приводятся в разделе ниже и во всем документе.

Хранилище пакетов

Клиент App-V управляет активами приложений, установленными в хранилище пакетов. Место хранения по умолчанию — %ProgramData%\App-V, но его можно настроить во время или после установки с помощью команды PowerShell Set-AppVClientConfiguration, позволяющей изменить значение локального реестра (PackageInstallationRoot в разделе HKLM\Software\Microsoft\AppV\Client\Streaming). Хранилище пакетов должно быть расположено по локальному пути в клиентской операционной системе. Отдельные пакеты хранятся в хранилище пакетов во вложенных папках, названных по GUID пакета и GUID версии пакета.

Пример пути к конкретному приложению:

C:\ProgramData\App-V\PackGUID\VersionGUID 

Об изменении расположения хранилища пакетов по умолчанию в процессе установки см. в разделе Развертывание клиента App-V.

Общее хранилище содержимого

Если клиент App-V настроен в режиме хранилища общего содержимого, в случае сбоя потока данные не записываются на диск, поэтому для пакетов требуется минимальный объем пространства на локальном диске (публикация данных). Сниженное потребление дискового пространства является важным преимуществом VDI, где на емкость локального хранилища может быть наложено ограничение и предпочтительна потоковая передача приложений из высокопроизводительного сетевого расположения (например, из локальной сети хранения данных). Дополнительные сведения о режиме хранилища общего содержимого см. в разделе https://go.microsoft.com/fwlink/p/?LinkId=392750.

Примечание

Хранилище компьютеров и пакетов должно располагаться на локальном диске даже в случае конфигурации клиента App-V с хранилищем общего содержимого.

Каталоги пакетов

Клиент App-V управляет следующими двумя файловыми размещениями.

  • Каталоги (пользователя и компьютера).

  • Разделы реестра в зависимости от предполагаемого варианта публикации пакета. Имеется каталог (хранилище данных) для компьютера и по одному каталогу для каждого отдельного пользователя. Каталог компьютера хранит глобальные сведения, относящиеся ко всем пользователям или к любому пользователю, а каталог пользователя хранит сведения, относящиеся к конкретному пользователю. Каталог — это коллекция файлов динамических конфигураций и манифестов; он содержит дискретные данные файлов и реестров для каждой версии пакета.

Каталог компьютера

Описание

Хранение документов по пакетам, доступных пользователям данного компьютера при добавлении и публикации пакетов. Однако если во время публикации пакет является «глобальным», интеграции доступны всем пользователям.

Если пакет не является глобальным, сведения об интеграции публикуются только для конкретных пользователей, но существуют также глобальные ресурсы, доступные для изменения и просмотра всем пользователям клиентского компьютера (например, каталог пакета в папке на общем диске).

Если пакет (глобальный или неглобальный) доступен для пользователя на компьютере, то манифест хранится в каталоге компьютера. Если пакет опубликован глобально, в каталоге компьютера хранится файл динамической конфигурации; таким образом, по наличию файла политики (файла UserDeploymentConfiguration) в каталоге компьютера можно определить, является ли пакет глобальным.

Место хранения по умолчанию

%programdata%\Microsoft\AppV\Client\Catalog\

Это расположение не совпадает с расположением хранилища пакетов. Хранилище пакетов содержит копию эталонных или исходных файлов пакета.

Файлы в каталоге компьютера

  • Manifest.xml

  • DeploymentConfiguration.xml

  • UserManifest.xml (глобально опубликованный пакет)

  • UserDeploymentConfiguration.xml (глобально опубликованный пакет)

Дополнительное расположение каталога компьютера, применяемое в том случае, если пакет входит в группу соединений

Следующее расположение является дополнительным по отношению к указанному выше расположению конкретного пакета:

%programdata%\Microsoft\AppV\Client\Catalog\PackageGroups\ConGroupGUID\ConGroupVerGUID

Дополнительные файлы в каталоге компьютера для пакета, входящего в группу соединений

  • PackageGroupDescriptor.xml

  • UserPackageGroupDescriptor.xml (глобально опубликованная группа соединений)

Каталог пользователя

Описание

Создается во процессе публикации. Содержит сведения для публикации пакета, а также применяется при запуске для проверки предоставления пакета конкретному пользователю. Создается в перемещаемом расположении и включает в себя сведения о публикации для конкретного пользователя.

Когда пакет публикуется для пользователя, файл политики сохраняется в каталоге пользователя. В то же время копия манифеста также сохраняется в каталоге пользователя. При удалении права пользователя на пакет из каталога пользователя удаляются соответствующие файлы пакета. Просмотрев каталог пользователя, администратор может проверить наличие файла динамической конфигурации, подтверждающее право данного пользователя на этот пакет.

Для перемещаемых пользователей каталог пользователя должен находиться в перемещаемом или общем расположении для сохранения режима назначения пользователей по умолчанию, употребительного в более ранних версиях App-V. Право на пакет и политика связаны с пользователем, а не с компьютером, поэтому после их подготовки они должны перемещаться вместе с пользователем.

Место хранения по умолчанию

ppdata\roaming\Microsoft\AppV\Client\Catalog\Packages\PkgGUID\VerGUID

Файлы в каталоге пользователя

  • UserManifest.xml

  • DynamicConfiguration.xml или UserDeploymentConfiguration.xml.

Дополнительное расположение каталога пользователя, применяемое в том случае, если пакет входит в группу соединений

Следующее расположение является дополнительным по отношению к указанному выше расположению конкретного пакета:

appdata\roaming\Microsoft\AppV\Client\Catalog\PackageGroups\PkgGroupGUID\PkgGroupVerGUID

Дополнительный файл в каталоге компьютера для пакета, входящего в группу соединений

UserPackageGroupDescriptor.xml

Резервные копии ярлыков

В процессе публикации в папке %AppData%\Microsoft\AppV\Client\Integration\ShortCutBackups. на клиенте App-V создается резервная копия всех ярлыков и точек интеграции. Эта резервная копия обеспечивает восстановление точек интеграции до прежних версий, если пакет не опубликован.

Файлы копирования при записи

Хранилище пакетов содержит копию исходных файлов пакета, переданных в потоке с сервера публикаций. Во время обычной работы приложения App-V пользователю или службе может потребоваться изменить файлы. Эти изменения не вносятся в хранилище пакетов, что позволяет при необходимости восстановить приложение с отменой изменений. Расположения, которые называются расположениями копирования при записи (COW), могут быть как перемещаемыми, так и неперемещаемыми. Место хранения изменений зависит от места их записи, указанного в процессе встроенного программирования приложения.

Перемещаемое копирование при записи

В рассмотренном выше перемещаемом расположении для копирования при записи сохраняются изменения в файлах и каталогах, предназначенных для стандартного расположения %AppData% или для расположения \Users\{имя_пользователя}\AppData\Roaming. Затем эти каталоги и файлы перемещаются на основе параметров операционной системы.

Локальное копирование при записи

Расположение локального копирования при записи аналогично перемещаемому расположению, но каталоги и файлы не перемещаются на другие компьютеры, даже если настроена поддержка перемещения. Расположение локального копирования при записи, описываемое выше, сохраняет изменения в типичных расположениях Windows, а не в расположении %AppData%. Указанные каталоги могут быть разными, но будут два расположения для любых типичных расположений Windows (например, общая папка AppData и общая папка AppDataS). S означает расположение с ограниченным доступом, когда виртуальная служба запрашивает изменение от имени пользователя с повышенными правами, отличного от пользователей, выполнивших вход. Расположение без S сохраняет изменения на уровне пользователя.

Реестр пакета

Прежде чем приложение сможет получить доступ к данным реестра пакета, клиент App-V должен сделать данные реестра пакета доступными для приложений. Клиент App-V использует реальный реестр в качестве резервного хранилища всех данных реестра.

При добавлении нового пакета в клиент App-V по пути %ProgramData%\Microsoft\AppV\Client\VREG\{Version GUID}.dat создается копия файла REGISTRY.DAT из этого пакета. Имя этого файла — идентификатор GUID версии с расширением DAT. Эта копия создается для того, чтобы фактический файл куста реестра в пакете никогда не использовался, что в дальнейшем не позволит удалить пакет.

Файл Registry.dat из хранилища пакетов

 > 

%ProgramData%\Microsoft\AppV\Client\Vreg\{GUID_версии}.dat

Когда на клиенте запускается первое приложение из пакета, клиент размещает или копирует содержимое из файла куста реестра, повторно создавая данные реестра пакета в другом расположении HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\Packages\PackageGuid\Versions\VersionGuid\REGISTRY. Размещенные данные реестра имеют два разных типа: данные компьютера и пользовательские данные. Данные компьютера совместно используются всеми пользователями на этом компьютере. Пользовательские данные для каждого пользователя размещаются в расположении конкретного пользователя HKCU\Software\Microsoft\AppV\Client\Packages\PackageGuid\Registry\User. Данные компьютера удаляются во время удаления пакета, а пользовательские данные удаляются во время операции отмены публикации для пользователя.

Размещение реестра пакета в сравнении с размещением реестра связывающей группы

При наличии связывающих групп описанный выше процесс размещения реестра остается действительным, но вместо одного файла куста реестра выполняется обработка нескольких таких файлов. Файлы обрабатываются в том порядке, в котором они отображаются в XML-файле связывающей группы, и в случае конфликтов используется принцип «первый записавший побеждает».

Размещенный реестр сохраняется таким же образом, как и в случае одного пакета. Данные размещенного реестра пользователя сохраняются для связывающей группы до тех пор, пока она не будет отключена; данные размещенного реестра компьютера удаляются при удалении связывающей группы.

Виртуальный реестр

Виртуальный реестр (VREG) служит для предоставления приложениям единого объединенного представления реестра пакета и собственного реестра. Он также предоставляет функциональные возможности копирования при записи (COW) — т. е. любые изменения, внесенные в реестр в контексте виртуального процесса, выполняются в отдельном расположении COW. Это означает, что виртуальный реестр должен объединять до трех отдельных расположений реестра в одно представление в зависимости от заполненных расположений в COW реестра -> реестре пакета -> собственном реестре. При запросе данных реестра он будет искать их по порядку, пока не найдет запрошенные данные. Это означает, что если обнаруживается значение, сохраненное в расположении COW, то он не будет переходить в другие расположения; если же в расположении COW запрошенные данные отсутствуют, то он перейдет в расположение реестра пакета, а затем в расположение собственного реестра, пока не найдет соответствующие данные.

Расположения реестра

Существует два расположения реестра пакета и два расположения связывающей группы, где клиент App-V хранит данные реестра, в зависимости от того, был ли пакет опубликован отдельно или как часть связывающей группы. Существует три расположения COW для пакетов и три — для связывающих групп, которые создаются и управляются VREG. Параметры для пакетов и связывающих групп не предназначены для совместного использования.

VReg одного пакета

Расположение

Описание

Реестр COW

  • Machine Registry\Client\Packages\GUID_пакета\REGISTRY (запись может выполнять только процесс с повышенными правами)

  • User Registry\Client\Packages\GUID_пакета\REGISTRY (все перемещение пользователя записывается в разделе HKCU, за исключением Software\Classes)

  • User Registry Classes\Client\Packages\GUID_пакета\REGISTRY (записи HKCU\Software\Classes и HKLM для процесса без повышенных прав)

Реестр пакета

  • Machine Registry\Client\Packages\GUID_пакета\Versions\GUID_версии\Registry\Machine

  • User Registry Classes\Client\Packages\GUID_пакета\Versions\GUID_версии\Registry

Собственный реестр

  • Расположение собственного реестра приложения

 

VReg связывающей группы

Расположение

Описание

Реестр COW

  • Machine Registry\Client\PackageGroups\GUID_группы\REGISTRY (запись может выполнять только процесс с повышенными правами)

  • User Registry\Client\PackageGroups\GUID_группы\REGISTRY (все записывается в HKCU, за исключением Software\Classes)

  • User Registry Classes\Client\PackageGroups\GUID_группы\REGISTRY

Реестр пакета

  • Machine Registry\Client\PackageGroups\GUID_группы\Versions\GUID_версии\REGISTRY

  • User Registry Classes\Client\PackageGroups\GUID_группы\Versions\GUID_версии\REGISTRY

Собственный реестр

  1. Расположение собственного реестра приложения

 

Имеется два расположения COW для HKLM; для процессов с повышенными правами и без повышенных прав. Процессы с повышенными правами всегда записывают изменения HKLM в защищенное расположение COW в разделе HKLM. Процессы без повышенных прав всегда записывают изменения HKLM в незащищенное расположение COW в разделе HKCU\Software\Classes. Когда приложение считывает изменения из раздела HKLM, процессы с повышенными правами будут считывать изменения из защищенного расположения COW в разделе HKLM. Процессы без повышенных прав считывают изменения из обоих расположений, но сначала выбирают изменения, сделанные в незащищенном расположении COW.

Сквозные разделы

Сквозные разделы позволяют администратору настроить определенные разделы таким образом, чтобы они могли быть прочитаны только из собственного реестра, минуя расположения реестра пакета и реестра COW. Сквозные расположения являются глобальными для компьютера (не связаны с конкретными пакетами) и могут настраиваться путем добавления в раздел, который должен рассматриваться как сквозной, пути к значению REG_MULTI_SZ с именем PassThroughPaths раздела HKLM\Software\Microsoft\AppV\Subsystem\VirtualRegistry. Все разделы, которые отображаются под этим многострочным значением, и их дочерние разделы будут рассматриваться как сквозные.

Следующие расположения настраиваются как сквозные расположения по умолчанию.

  • HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel

  • HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger

  • HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib

  • HKEY_LOCAL_MACHINE\SOFTWARE\Policies

  • HKEY_CURRENT_USER\SOFTWARE\Policies

Сквозные разделы предназначены для того, чтобы виртуальное приложение никогда не записывало данные реестра в VReg, что требуется для успешного функционирования или интеграции невиртуальных приложений. Раздел Policies обеспечивает использование параметров на основе групповой политики, установленной администратором, а не параметров конкретного пакета. Раздел AppModel требуется для интеграции с приложениями на основе современного пользовательского интерфейса Windows. Администраторам рекомендуется не изменять никакие сквозные разделы по умолчанию, но в некоторых случаях в зависимости от поведения приложения может потребоваться добавление дополнительных сквозных разделов.

Поведение хранилища пакетов App-V

App-V 5 обеспечивает управление хранилищем пакетов, в котором хранятся файлы ресурсов, развернутые из файла с расширением .appv. По умолчанию это расположение находится по пути %ProgramData%\App-V и в плане возможностей хранения ограничивается только свободным местом на диске. Хранилище пакетов структурируется по идентификаторам GUID для пакета и версии, как упоминалось в предыдущем разделе.

Добавление пакетов

Пакеты App-V размещаются при добавлении на компьютер с клиентом App-V. Клиент App-V предоставляет размещение по требованию. Во время публикации или добавления вручную с помощью командлета Add-AppVClientPackage структура данных встраивается в хранилище пакетов (c:\programdata\App-V\{GUID_пакета}\{GUID_версии}). Файлы пакета, идентифицированные в блоке публикации, заданном в файле StreamMap.xml, добавляются в систему, а также размещаются папки верхнего уровня и дочерние файлы, чтобы обеспечить существование соответствующих активов приложения при запуске.

Подключение пакетов

Пакеты можно явно загрузить с помощью командлета PowerShell Mount-AppVClientPackage или с помощью пользовательского интерфейса клиента App-V для загрузки пакета. Эта операция полностью загружает весь пакет в хранилище пакетов.

Потоковая передача пакетов

Чтобы изменить поведение по умолчанию потоковой передачи, можно настроить клиент App-V. Все политики потоковой передачи хранятся в следующем разделе реестра: HKEY_LOCAL_MAcHINE\Software\Microsoft\AppV\Client\Streaming. Политики задаются с помощью командлета PowerShell Set-AppvClientConfiguration. Для потоковой передачи применяются следующие политики.

Политика Описание

AllowHighCostLaunch

В Windows 8 и более поздних версий эта политика позволяет потоковую передачу по сетям 3G и сотовым сетям.

AutoLoad

Задает параметр фоновой загрузки (Background Load):

  • 0 — отключено;

  • 1 — только ранее использовавшиеся пакеты;

  • 2 — все пакеты.

PackageInstallationRoot

Корневая папка для хранилища пакетов на локальном компьютере.

PackageSourceRoot

Переопределение корневой папки, из которой должна выполняться потоковая передача пакетов.

SharedContentStoreMode

Позволяет использовать общее хранилище содержимого в сценариях VDI.

 

Эти параметры влияют на поведение потоковой передачи активов пакета App-V в клиент. По умолчанию App-V загружает только активы, необходимые после загрузки начального функционального блока публикации и основного функционального блока. Существует три особых поведения, касающиеся потоковой передачи пакетов, которые необходимо объяснить:

  • Фоновая потоковая передача

  • Оптимизированная потоковая передача

  • Ошибки потока

Фоновая потоковая передача

Командлет PowerShell Get-AppvClientConfiguration можно использовать для определения текущего режима фоновой потоковой передачи с помощью параметра AutoLoad, а изменить этот режим можно с помощью командлета Set-AppvClientConfiguration или из реестра (раздел HKLM\SOFTWARE\Microsoft\AppV\ClientStreaming). Фоновая потоковая передача является установкой по умолчанию, когда в параметре Autoload устанавливается загрузка ранее использовавшихся пакетов. Поведение, заданное параметром по умолчанию (значение = 1), загружает блоки данных App-V в фоновом режиме после запуска приложения. Этот параметр можно отключить для всех пакетов (значение = 0) или включить для всех пакетов (значение = 2), независимо от того, были ли они запущены.

Оптимизированная потоковая передача

Пакеты App-V можно настроить с основным функциональным блоком во время виртуализации. Этот параметр позволяет инженеру, ответственному за виртуализацию, наблюдать за запуском файлов для конкретного приложения или приложений и помечать блоки данных в пакете App-V для потоковой передачи при первом запуске любого приложения в пакете.

Ошибки потока

После начальной потоковой передачи какого-либо функционального блока публикации данных и основного функционального блока запросы дополнительных файлов приводят к ошибкам потока. Эти блоки данных загружаются в хранилище пакетов по мере необходимости. Это дает пользователю возможность загружать только небольшую часть пакета, как правило, достаточную, чтобы запустить пакет и выполнять обычные задачи. Все остальные блоки загружаются, когда пользователь инициирует операцию, для которой требуются данные, на этот момент отсутствующие в хранилище пакетов.

Дополнительные сведения о потоковой передаче пакетов App-V см. по адресу https://go.microsoft.com/fwlink/?LinkId=392770.

Сведения о виртуализации для оптимизации потоковой передачи см. по адресу https://go.microsoft.com/fwlink/?LinkId=392771.

Обновления пакетов

Обновление пакетов App-V требуется на всем протяжении жизненного цикла приложения. Обновления пакета App-V похожи на операции публикации пакета, поскольку каждая версия будет создана в своем собственном расположении PackageRoot: %ProgramData%\App-V\{PkgGUID}\{newVerGUID}. Операция обновления оптимизируется путем создания жестких связей с идентичными и уже переданными в потоке файлами из других версий того же пакета.

Удаление пакета

Поведение клиента App-V при удалении пакетов зависит от способа удаления. При отмене публикации приложения с помощью полной инфраструктуры App-V файлы каталога пользователя (или каталога компьютера для глобально опубликованных приложений) удаляются, но сохраняется расположение хранилища пакетов и расположения копирования при записи (COW). При удалении пакета App-V с помощью командлета PowerShell Remove-AppVClientPackge расположение хранилища пакетов очищается. Помните, что отмена публикации пакета App-V на сервере управления не выполняет операцию удаления. Ни одна операция не будет удалять файлы пакета в хранилище пакетов.

Перемещение реестра и данных

App-V 5 может предоставить близкое к собственному взаимодействие при перемещении, в зависимости от того, как было написано используемое приложение. По умолчанию App-V перемещает AppData, хранящиеся в перемещаемом расположении, на основе конфигурации перемещения операционной системы. Другие расположения для хранения данных на основе файлов не перемещаются с одного компьютера на другой, поскольку они находятся в расположениях, которые не перемещаются.

Требования к перемещению и хранилище данных каталога пользователя

App-V хранит данные, которые представляют состояние каталога пользователя, следующим образом:

  • Файлы в папке %appdata%\Microsoft\AppV\Client\Catalog

  • Параметры реестра в разделе HKEY_CURRENT_USER\Software\Microsoft\AppV\Client\Packages.

Вместе эти файлы и параметры реестра представляют каталог пользователя, поэтому для конкретного пользователя должны перемещаться либо обе эти формы, либо ни одна из них. App-V не поддерживает перемещение %AppData% без перемещения профиля пользователя (реестра) и наоборот.

Примечание

Командлет Repair-AppvClientPackage не восстанавливает состояние публикации пакетов, если состояние App-V пользователя в разделе HKEY_CURRENT_USER отсутствует или не соответствует данным в %AppData%.

Данные на основе реестра

Перемещение реестра App-V происходит в соответствии с одним из двух сценариев, показанных в следующей таблице.

Сценарий Описание

Приложения, которые запускаются от имени обычных пользователей

Когда обычный пользователь запускает приложение App-V, HKLM и HKCU для приложений App-V сохраняются в кусте HKCU на компьютере. Это представляется в виде двух разных путей.

  • HKLM: HKCU\SOFTWARE\Classes\AppV\Client\Packages\{GUID_пакета}\REGISTRY\MACHINE\SOFTWARE

  • HKCU: HKCU\SOFTWARE\Microsoft\AppV\Client\Packages\{GUID_пакета}\REGISTRY\USER\{SID_пользователя}\SOFTWARE

Эти расположения включаются для перемещения на основе параметров операционной системы.

Приложения, которые запускаются с повышенными правами

При запуске приложения с повышенными правами:

  • данные HKLM сохраняются в кусте реестра HKLM на локальном компьютере;

  • данные HKCU сохраняются в расположении реестра пользователя.

В данном сценарии эти параметры не перемещаются в соответствии с обычными конфигурациями перемещения операционной системы, а итоговые разделы и значения реестра сохраняются в следующих расположениях:

  • HKLM\SOFTWARE\Microsoft\AppV\Client\Packages\{GUID_пакета}\{SID_пользователя}\REGISTRY\MACHINE\SOFTWARE

  • HKCU\SOFTWARE\Microsoft\AppV\Client\Packages\{GUID_пакета}\Registry\User\{SID_пользователя}\SOFTWARE

App-V и перенаправление папок

App-V 5.1 поддерживает перенаправление перемещаемой папки AppData (%AppData%). При запуске виртуальной среды состояние перемещаемой папки AppData из перемещаемого пользовательского каталога AppData копируется в локальный кэш. И наоборот, когда работа виртуальной среды завершается, локальный кэш, связанный с конкретной пользовательской перемещаемой папкой AppData, передается в фактическое расположение перемещаемого каталога AppData этого пользователя.

Типичному пакету назначается несколько мест в резервном хранилище пользователя для параметров в AppData\Local и в AppData\Roaming. Эти расположения являются расположениями копирования при записи, которые хранятся индивидуально для пользователя в его профиле и используются для сохранения изменений, внесенных в каталоги VFS пакета, и защиты VFS пакета по умолчанию.

В следующей таблице показаны локальные и перемещаемые расположения, когда перенаправление папок не реализовано.

Каталог VFS в пакете Сопоставленное расположение резервного хранилища

ProgramFilesX86

C:\users\jsmith\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\ProgramFilesX86

SystemX86

C:\users\jsmith\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\SystemX86

Windows

C:\users\jsmith\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\Windows

appv_ROOT

C:\users\jsmith\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\appv_ROOT

AppData

C:\users\jsmith\AppData\Roaming\Microsoft\AppV\Client\VFS\<GUID>\AppData

 

В следующей таблице показаны локальные и перемещаемые расположения, когда для %AppData% реализовано перенаправление папок и расположение было перенаправлено (обычно в сетевую папку).

Каталог VFS в пакете Сопоставленное расположение резервного хранилища

ProgramFilesX86

C:\users\jsmith\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\ProgramFilesX86

SystemX86

C:\users\jsmith\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\SystemX86

Windows

C:\users\jsmith\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\Windows

appv_ROOT

C:\users\jsmith\AppData\Local\Microsoft\AppV\Client\VFS\<GUID>\appv_ROOT

AppData

\\Fileserver\users\jsmith\roaming\Microsoft\AppV\Client\VFS\<GUID>\AppData

 

Текущий драйвер VFS клиента App-V не может выполнять запись в сетевые расположения, поэтому клиент App-V определяет наличие перенаправления папок и копирует данные на локальный диск во время публикации и при запуске виртуальной среды. После того как пользователь закроет приложение App-V, а клиент App-V закроет виртуальную среду, локальное хранилище AppData VFS копируется обратно в сеть, что позволяет перемещение на дополнительные компьютеры, на которых этот процесс будет повторяться. Далее приводятся подробные шаги этих процессов.

  1. Во время публикации или запуска виртуальной среды клиент App-V определяет расположение каталога AppData.

  2. Если путь перемещения AppData является локальным или сопоставлен с расположением AppData\Roaming, ничего не происходит.

  3. Если путь перемещения AppData не является локальным, каталог AppData VFS сопоставляется с локальным каталогом AppData.

Этот процесс устраняет проблему нелокального %AppData%, который не поддерживается драйвером VFS клиента App-V. Однако данные, хранящиеся в этом новом расположении, не перемещаются при перенаправлении папок. Все изменения, внесенные во время выполнения приложения, происходят в локальном расположении AppData, и их необходимо скопировать в перенаправленное расположение. Далее приводятся подробные шаги этого процесса.

  1. Завершается работа приложения App-V, что приводит к завершению работы виртуальной среды.

  2. Локальный кэш перемещаемого расположения AppData сжимается и сохраняется в ZIP-файле.

  3. Для задания имени файла используется метка времени в конце процесса упаковки в ZIP-файл.

  4. Эта метка времени записывается в раздел реестра HKEY_CURRENT_USER\Software\Microsoft\AppV\Client\Packages\<GUID>\AppDataTime как последняя известная метка времени AppData.

  5. Вызывается процесс перенаправления папок для оценки и инициации ZIP-файла, отправленного в перемещаемый каталог AppData.

Метка времени используется для определения сценария «последний записавший побеждает» в случае конфликта и для оптимизации загрузки данных при публикации приложения App-V или запуске виртуальной среды. Перенаправление папок сделает данные доступными из любых других клиентов, на которые распространяется политика поддержки, и инициирует процесс сохранения данных AppData\Roaming в локальном расположении AppData на клиенте. Далее приводятся подробные процессы.

  1. Пользователь запускает виртуальную среду, запуская приложение.

  2. Виртуальная среда приложения проверяет последний ZIP-файл с меткой времени, если он существует.

  3. В реестре ищется последняя известная отправленная метка времени, если она присутствует.

  4. Последний ZIP-файл загружается, если последняя известная отправленная локальная метка времени не меньше метки времени из ZIP-файла.

  5. Если последняя известная отправленная локальная метка времени меньше метки времени последнего ZIP-файла в перемещаемом расположении AppData, то этот ZIP-файл извлекается в локальный каталог temp в профиле пользователя.

  6. После успешного извлечения ZIP-файла локальный кэш перемещаемого каталога AppData переименовывается и новые данные перемещаются на место.

  7. Переименованный каталог удаляется, а приложение открывается с последними сохраненными перемещаемыми данных AppData.

На этом завершается успешное перемещение параметров приложения, присутствующих в расположениях AppData\Roaming. Необходимо разрешить только одно другое условие — операцию восстановления пакета. Далее приводится подробное описание этого процесса.

  1. Во время восстановления определите, действительно ли путь к перемещаемому каталогу AppData пользователя не является локальным.

  2. Назначьте целевые объекты нелокального пути перемещаемого каталога AppData, чтобы они пересоздавали предполагаемые перемещаемое и локальное расположения AppData.

  3. Удалите метку времени, хранящуюся в реестре, если она присутствует.

Этот процесс будет пересоздавать как локальное, так и перемещаемое расположение для AppData и удалять запись метки времени в реестре.

Управление жизненным циклом приложения клиента App-V

В полной инфраструктуре App-V после виртуализации приложений ими можно управлять и публиковать их для пользователей или компьютеров с помощью серверов управления и публикации App-V и публикации. В этом разделе подробно описываются операции, которые происходят при выполнении общих операций жизненного цикла приложения App-V (добавление, публикация, запуск, обновление и удаление), и расположения файлов и реестров, которые изменяются, с точки зрения клиента App-V. Операции клиента App-V выполняются как наборы команд PowerShell, инициированные на компьютере, где работает клиент App-V.

В этом документе рассматриваются решения полной инфраструктуры App-V. Сведения по интеграции App-V с Configuration Manager 2012 см. по адресу https://go.microsoft.com/fwlink/?LinkId=392773.

Задачи жизненного цикла приложения App-V активируются при входе пользователя (по умолчанию), при запуске компьютера или как фоновые операции с планированием по времени. Параметры для операций клиента App-V, включая серверы публикации, интервалы обновления, внедрение сценариев пакета и другие, настраиваются во время установки клиента или после установки с помощью команд PowerShell. См. раздел, посвященный развертыванию клиента, по ссылке Развертывание клиента App-V или используйте следующую команду PowerShell:

get-command *appv*

Обновление публикации

Процесс обновления публикации состоит из нескольких небольших операций, выполняемых на клиенте App-V. Поскольку App-V является технологией виртуализации приложений, а не технологией планирования задач, для включения процесса при входе пользователя, запуске компьютера или по расписанию используется Планировщик задач Windows. Указанная выше настройка клиента во время установки является предпочтительным способом при распространении клиента на большую группу компьютеров с правильными настройками. Эти параметры клиента можно настраивать с помощью следующих командлетов PowerShell.

  • Add-AppVPublishingServer — настраивает клиент с помощью сервера публикации App-V, который предоставляет пакеты App-V.

  • Set-AppVPublishingServer — изменяет текущие параметры для сервера публикации App-V.

  • Set-AppVClientConfiguration — изменяет текущие параметры для клиента App-V.

  • Sync-AppVPublishingServer — инициирует процесс обновления публикации App-V вручную. Он также используется в запланированных задачах, созданных во время настройки сервера публикации.

В следующих разделах приведено описание операций, выполняемых на различных этапах обновления публикации App-V. Рассматриваются следующие темы.

  • Добавление пакета App-V

  • Публикация пакета App-V

Добавление пакета App-V

Добавление пакета App-V на клиент является первым шагом в процессе обновления публикации. Конечный результат будет такой же, как и при использовании командлета Add-AppVClientPackage в PowerShell, за исключением того, что во время процесса добавления обновления публикации выполняется обращение к настроенному серверу публикации, который передает высокоуровневый список приложений обратно клиенту, чтобы получить более подробные сведения, а не единственную операцию добавления пакета. Далее в этом процессе выполняется настройка клиента для добавления или обновления пакета или связывающей группы, затем вызывается файл с расширением .appv. После этого содержимое файла с расширением .appv развертывается и помещается в соответствующие расположения в локальной операционной системе. Ниже приводится подробное описание рабочего процесса, при условии что пакет настроен для потоковой передачи ошибок.

Порядок добавления пакета App-V

  1. Инициация вручную с помощью PowerShell или запуск последовательности задач процесса обновления публикации.

    1. Клиент App-V выполняет подключение HTTP и запрашивает список приложений в зависимости от целевого объекта. Процесс обновления публикации поддерживает в качестве целевых объектов компьютеры или пользователей.

    2. Сервер публикации App-V использует удостоверение вызывающего целевого объекта (пользователя или компьютера) и запрашивает в базе данных список предоставленных приложений. Список приложений предоставляется в виде XML-ответа, который клиент использует для отправки дополнительных запросов к серверу, чтобы получить дополнительные сведения индивидуально для конкретных пакетов.

  2. Агент публикации на клиенте App-V последовательно выполняет все действия, приведенные ниже.

    Оцените все неопубликованные или отключенные связывающие группы, поскольку обновления версий пакетов, входящих в связывающую группу, не могут быть обработаны.

  3. Настройте пакеты, определяя операции добавления или обновления.

    1. Клиент App-V использует API AppX из ОС Windows и обращается к файлу с расширением .appv с сервера публикации.

    2. Этот файл пакета открывается, и файлы AppXManifest.xml и StreamMap.xml загружаются в хранилище пакетов.

    3. Полностью передайте в потоке данные блока публикации, определенные в файле StreamMap.xml. Данные блока публикации сохраняются в каталоге Store\GUID_пакета\GUID_версии\Root.

      • Значки: целевые объекты точек расширения.

      • Заголовки переносимых исполняемых файлов (заголовки PE-файлов): целевые объекты точек расширения, которые содержат базовые сведения об образе, необходимом на диске, доступные напрямую или через типы файлов.

      • Сценарии: загрузите каталог сценариев для использования в процессе публикации.

    4. Заполните хранилище пакетов.

      1. Создайте разреженные файлы на диске, представляющем извлеченный пакет, для всех перечисленных каталогов.

      2. Разместите файлы и каталоги верхнего уровня в корне.

      3. Все прочие файлы создаются, когда каталог перечисляется как разреженный на диске и передается в потоке по требованию.

    5. Создайте записи каталога компьютера. Создайте файлы Manifest.xml и DeploymentConfiguration.xml из файлов пакета (если в пакете отсутствует файл DeploymentConfiguration.xml, то создается файл-прототип).

    6. Создайте расположение хранилища пакетов в разделе реестра HKLM\Software\Microsoft\AppV\Client\Packages\GUID_пакета\Versions\GUID_версии\Catalog.

    7. Создайте файл Registry.dat из хранилища пакетов в %ProgramData%\Microsoft\AppV\Client\VReg\{GUID_версии}.dat

    8. Зарегистрируйте пакет с помощью работающего в режиме ядра драйвера App-V HKLM\Microsoft\Software\AppV\MAV.

    9. Вызовите сценарии из файла AppxManifest.xml или DeploymentConfig.xml для времени добавления пакета.

  4. Настройте связывающие группы путем добавления и включения или отключения.

  5. Удалите объекты, которые не публикуются для целевого объекта (пользователя или компьютера).

    Примечание

    При этом выполняется не удаление пакета, а удаление точек интеграции для определенного целевого объекта (пользователя или компьютера) и удаление файлов каталога пользователя (или файлов каталога компьютера для глобально опубликованного пакета).

  6. Вызовите подключение фоновой загрузки в зависимости от конфигурации клиента.

  7. Пакеты, которые уже имеют сведения о публикации для компьютера или пользователя, немедленно восстанавливаются.

    Примечание

    Такая ситуация возникает в результате удаления без отмены публикации с фоновым добавлением пакета.

На этом завершается добавление в пакет App-V процесса обновления публикации. Следующим шагом является публикация пакета для определенного целевого объекта (компьютера или пользователя).

Добавление файла и данных реестра пакета

Публикация пакета App-V

Во время операции обновления публикации конкретная операция публикации (Publish-AppVClientPackage) добавляет записи в каталог пользователя, сопоставляет предоставление прав с пользователем, идентифицирует локальное хранилище и завершается, выполнив все этапы интеграции. Далее приводится подробное описание этапов.

Порядок публикации пакета App-V

  1. Записи пакета добавляются в каталог пользователя.

    1. Пакеты, предназначенные для пользователя: файлы UserDeploymentConfiguration.xml и UserManifest.xml размещаются на компьютере в каталоге пользователя.

    2. Пакеты, предназначенные для компьютера (глобальные пакеты): файл UserDeploymentConfiguration.xml помещается в каталог компьютера.

  2. Пакет регистрируется с помощью драйвера, работающего в режиме ядра, для пользователя в HKLM\Software\Microsoft\AppV\MAV.

  3. Выполняются задачи интеграции.

    1. Создание точек расширения.

    2. Сохранение сведений об архивации в реестре пользователя и в перемещаемом профиле (резервные копии ярлыков).

      Примечание

      Это позволяет восстановить точки расширения в случае отмены публикации пакета.

    3. Выполняются сценарии, назначенные на время публикации.

Процесс публикации пакета App-V, который является частью связывающей группы, очень похож на описанный выше процесс. Для связывающих групп путь, по которому хранятся сведения конкретного каталога, включает PackageGroups в качестве дочернего элемента каталога. Подробности см. в сведениях о каталогах компьютера и пользователей выше.

Добавление файла и данных реестра пакета — глобально

Запуск приложения

После завершения процесса обновления публикации пользователь запускает и последовательно перезапускает приложение App-V. Этот процесс очень простой и оптимизирован для быстрого запуска с минимальным сетевым трафиком. Клиент App-V проверяет путь к каталогу пользователя для файлов, созданных во время публикации. После установки прав для запуска пакета клиент App-V создает виртуальную среду, начинает потоковую передачу необходимых данных и применяет соответствующие файлы манифеста и конфигурации развертывания во время создания виртуальной среды. После создания и настройки виртуальной среды для определенного пакета и приложения это приложение запускается.

Порядок запуска приложений App-V

  1. Пользователь запускает приложение, щелкнув ярлык или вызвав тип файла.

  2. Клиент App-V проверяет существование в каталоге пользователя следующих файлов:

    • UserDeploymentConfiguration.xml

    • UserManifest.xml

  3. При наличии файлов этому конкретному пользователю предоставляется право на данное приложение и приложение начинает процесс запуска. В этот момент сетевой трафик отсутствует.

  4. Затем клиент App-V проверяет наличие в реестре пути для пакета, зарегистрированного для службы клиента App-V.

  5. После обнаружения пути к хранилищу пакетов создается виртуальная среда. Если это первый запуск, то загружается основной функциональный блок при его наличии.

  6. После загрузки служба клиента App-V использует файлы манифеста и конфигурации развертывания для настройки виртуальной среды и всех загружаемых подсистем App-V.

  7. Приложение запускается. Для всех отсутствующих в хранилище пакетов файлов (разреженных файлов) App-V будет передавать в потоке недостаток файлов по мере необходимости.

    Добавление файла и данных реестра пакета — поток

Обновление пакета App-V

Процесс обновления пакета App-V 5 отличается от обновления пакетов предыдущих версий App-V. App-V поддерживает несколько версий одного пакета на компьютере, предоставленном разным пользователям. Версии пакета могут быть добавлены в любое время по мере добавления новых ресурсов в хранилище пакетов и каталоги. Оптимизация хранилища — это единственный процесс, относящийся к добавлению ресурсов новой версии. Во время обновления в расположение хранения новой версии добавляются только новые файлы, а для неизмененных файлов создаются жесткие связи. Это сокращает общий объем хранения, поскольку в хранилище присутствует только файл в одном месте на диске, который затем проецируется во все папки с записью о расположении файла на диске. Далее приводятся конкретные сведения об обновлении пакета App-V.

Порядок обновления пакета App-V

  1. Клиент App-V выполняет обновление публикации и обнаруживает более новую версию пакета App-V.

  2. Записи пакета добавляются в соответствующий каталог для новой версии.

    1. Пакеты, предназначенные для пользователя: UserDeploymentConfiguration.xml и UserManifest.xml размещаются на компьютере в каталоге пользователя в папке appdata\roaming\Microsoft\AppV\Client\Catalog\Packages\GUID_пакета\GUID_версии.

    2. Пакеты, предназначенные для компьютера (глобальные пакеты): файл UserDeploymentConfiguration.xml помещается в каталог компьютера в папке %programdata%\Microsoft\AppV\Client\Catalog\Packages\GUID_пакета\GUID_версии.

  3. Пакет регистрируется с помощью драйвера, работающего в режиме ядра, для пользователя в HKLM\Software\Microsoft\AppV\MAV.

  4. Выполняются задачи интеграции.

    1. Интегрируются точки расширения (EP) из файлов манифеста и динамической конфигурации.
    1. Данные EP на основе файлов сохраняются в папке AppData с использованием точек соединения из хранилища пакетов.

    2. Точки расширения версии 1 уже существуют, когда новая версия становится доступной.

    3. Точки расширения переключаются на расположение версии 2 в каталоге компьютера или пользователя для любой более новой или обновленной точки расширения.

  5. Выполняются сценарии, назначенные на время публикации.

  6. По мере необходимости устанавливаются параллельные сборки.

Обновление пакета App-V, находящегося в использовании

Начиная с App-V 5 с пакетом обновления 2 (SP2): при попытке обновления пакета, который используется конечным пользователем, задача обновления помещается в состояние ожидания. Обновление будет выполняться позднее согласно следующим правилам.

Тип задачи Применяемое правило

Пользовательская задача, например публикация пакета для пользователя

Ожидающая задача будет выполняться после того, как пользователь выйдет из системы, а затем снова войдет.

Глобальная задача, например глобальное включение связывающей группы

Ожидающая задача будет выполняться после того, как компьютер завершит работу, а затем будет запущен снова.

Когда задача помещается в состояние ожидания, клиент App-V также создает раздел реестра для ожидающей задачи следующим образом.

Пользовательская или глобальная задача Где создается раздел реестра

Задачи пользователя

KEY_CURRENT_USER\Software\Microsoft\AppV\Client\PendingTasks

Глобальные задачи

HKEY_LOCAL_MACHINE\Software\Microsoft\AppV\Client\PendingTasks

Прежде чем пользователи смогут использовать новую версию пакета, необходимо выполнить следующие операции.

Задача Сведения

Добавление пакета на компьютер

Эта задача относится к конкретному компьютеру, и ее можно выполнить в любое время, выполнив действия, описанные в разделе «Добавление пакета».

Публикация пакета

Действия см. в разделе «Публикация пакета». Этот процесс требует обновления точек расширения в системе. Конечные пользователи не могут использовать приложение во время выполнения этой задачи.

Следующие примеры сценариев можно использовать в качестве руководства для обновления пакетов.

Сценарий Требования

Во время попытки обновления пакет App-V не используется

Не должен использоваться ни один из следующих компонентов пакета: виртуальное приложение, сервер COM, расширения оболочки.

Администратор публикует новую версию пакета, и обновление срабатывает при следующем запуске компонента или приложения в пакете. Новая версия пакета передается в потоке и запускается. В App-V 5 с пакетом обновления 2 (SP2) не произошло никаких изменений в этом сценарии по сравнению с предыдущими версиями App-V 5.

Пакет App-V используется, когда администратор публикует новую версию этого пакета

Клиент App-V переводит операцию обновления в режим ожидания; это означает, что она помещается в очередь и выполняется позднее, когда пакет не используется.

Если приложение пакета используется, то пользователь завершает работу виртуального приложения, после чего может произойти обновление.

Если пакет содержит расширения оболочки (Office 2013), которые постоянно загружаются проводником, пользователь не может выполнить вход. Пользователи должны выйти и снова войти, чтобы инициировать обновление пакета App-V.

Глобальная публикация в сравнении с публикацией для пользователя

Пакеты App-V могут быть опубликованы одним из двух способов: для пользователя, когда право на пакет App-V предоставляется определенному пользователю или группе пользователей, и глобально, когда право на пакет App-V предоставляется компьютеру для всех пользователей этого компьютера. Когда обновление пакета находится в режиме ожидания, а пакет App-V не используется, следует принять во внимание эти два типа публикации.

  • Глобальная публикация: приложение публикуется для компьютера; все пользователи на этом компьютере могут использовать это приложение. Обновление будет происходить при запуске службы клиента App-V, что фактически означает перезагрузку компьютера.

  • Публикация для пользователя: приложение публикуется для пользователя. При наличии нескольких пользователей на компьютере, можно опубликовать приложение для подмножества пользователей. Обновление будет происходить при входе пользователя в систему или при повторной публикации (периодической, при обновлении и оценке политики Configuration Manager, при периодической публикации или обновлении App-V или явно с помощью команд PowerShell).

Удаление пакета App-V

Удаление приложений App-V в полной инфраструктуре — это операция отмены публикации; удаление пакета при этом не выполняется. Этот процесс аналогичен процессу публикации, но вместо добавления процесс удаления отменяет изменения, внесенные для пакетов App-V.

Восстановление пакета App-V

Операция восстановления очень простая, но может повлиять на многие расположения на компьютере. Упоминаемые выше расположения копирования при записи (COW) удаляются, точки расширения разрушаются, а затем воссоздаются. Просмотрите расположения размещения данных COW, проверив, где они зарегистрированы в реестре. Эта операция выполняется автоматически, и администратору не требуется выполнять какое-либо управление, кроме инициации операции восстановления с консоли клиента App-V или с помощью командлета PowerShell (Repair-AppVClientPackage).

Интеграция пакетов App-V

Клиент App-V и архитектура пакетов обеспечивают определенную интеграцию с локальной операционной системой во время добавления и публикации пакетов. Точки интеграции или точки расширения для пакета App-V задаются тремя файлами.

  • AppXManifest.xml: хранится в пакете с резервными копиями, сохраненными в хранилище пакетов и в профиле пользователя. Содержит параметры, созданные во время процесса виртуализации.

  • DeploymentConfig.xml: Предоставляет сведения о конфигурации компьютера и пользователя на основе точек расширения интеграции.

  • UserConfig.xml: подмножество файла Deploymentconfig.xml, содержащее только конфигурации конкретных пользователей. Этот файл предназначен только для точек расширения на основе пользователя.

Правила интеграции

При публикации приложений App-V на компьютере с клиентом App-V некоторые действия выполняются, как описывается в следующем списке.

  • Глобальная публикация: ярлыки хранятся в расположении профиля для всех пользователей, а другие точки расширения хранятся в реестре в кусте HKLM.

  • Публикация для пользователя: ярлыки хранятся в профиле учетной записи текущего пользователя, а другие точки расширения хранятся в реестре в кусте HKCU.

  • Резервное копирование и восстановление: существующие собственные данные приложения и реестра (такие как регистрации FTA) архивируются во время публикации.

    1. Пакетам App-V предоставляются право владения на основе последнего интегрированного пакета, когда право владения передается в последнее опубликованное приложение App-V.

    2. Право владения передается от одного пакета App-V другому, когда отменяется публикация владеющего пакета App-V. При этом не запускается процесс восстановления данных или реестра.

    3. Восстановление резервных копий данных должно выполняться, когда происходит отмена публикации или удаление последнего пакета в конкретной точке расширения.

Точки расширения

Файлы публикации App-V (манифеста и динамической конфигурации) предоставляют несколько точек расширения, которые позволяют интеграцию приложения с локальной операционной системой. Эти точки расширения выполняют типичные задачи установки приложения, такие как размещение ярлыков, создание сопоставлений типов файлов и регистрация компонентов. Поскольку это виртуализированные приложения, которые не устанавливаются так, как традиционные приложения, имеются некоторые различия. Далее приводится список точек расширения, которые рассматриваются в этом разделе.

  • Ярлыки

  • Сопоставления типов файлов

  • Расширения оболочки

  • COM

  • Программные клиенты

  • Возможности приложения

  • Обработчик протокола URL-адресов

  • AppPath

  • Виртуальное приложение

Ярлыки

Ярлык — один из основных элементов интеграции с ОС, который является интерфейсом для прямого запуска пользователем приложения App-V. Во время публикации и отмены публикации приложений App-V.

В XML-файлах манифеста и динамической конфигурации пакета путь к конкретному исполняемому файлу приложения можно найти в разделе, аналогичном показанному ниже:

<Extension Category="AppV.Shortcut">
          <Shortcut>
            <File>[{Common Desktop}]\Adobe Reader 9.lnk</File>
            <Target>[{AppVPackageRoot}]\Reader\AcroRd32.exe</Target>
            <Icon>[{Windows}]\Installer\{AC76BA86-7AD7-1033-7B44-A94000000001}\SC_Reader.ico</Icon>
            <Arguments />
            <WorkingDirectory />
            <ShowCommand>1</ShowCommand>
            <ApplicationId>[{AppVPackageRoot}]\Reader\AcroRd32.exe</ApplicationId>
          </Shortcut>
        </Extension>

Как упоминалось ранее, по умолчанию ярлыки APP-V размещаются в профиле пользователя на основе операции обновления. При глобальном обновлении ярлыки размещаются в профиле для всех пользователей (All Users), а при обновлении на основе пользователя они сохраняются в профиле конкретного пользователя. Реальный исполняемый файл хранится в хранилище пакетов. Расположение ICO-файла представляет собой размеченное размещение в пакете App-V.

Сопоставления типов файлов

Клиент App-V управляет сопоставлениями типов файлов локальной операционной системы во время публикации, благодаря чему пользователи могут применять вызовы типов файлов или открывать файл со специально зарегистрированным расширением (DOCX) для запуска приложения App-V. Сопоставления типов файлов присутствуют в файлах манифеста и динамической конфигурации, как показано в следующем примере.

<Extension Category="AppV.FileTypeAssociation">
          <FileTypeAssociation>
            <FileExtension MimeAssociation="true">
              <Name>.xdp</Name>
              <ProgId>AcroExch.XDPDoc</ProgId>
              <ContentType>application/vnd.adobe.xdp+xml</ContentType>
            </FileExtension>
            <ProgId>
              <Name>AcroExch.XDPDoc</Name>
              <Description>Adobe Acrobat XML Data Package File</Description>
              <EditFlags>65536</EditFlags>
              <DefaultIcon>[{Windows}]\Installer\{AC76BA86-7AD7-1033-7B44-A94000000001}\XDPFile_8.ico</DefaultIcon>
              <ShellCommands>
                <DefaultCommand>Read</DefaultCommand>
                <ShellCommand>
                  <ApplicationId>[{AppVPackageRoot}]\Reader\AcroRd32.exe</ApplicationId>
                  <Name>Open</Name>
                  <CommandLine>"[{AppVPackageRoot}]\Reader\AcroRd32.exe" "%1"</CommandLine>
                </ShellCommand>
                <ShellCommand>
                  <ApplicationId>[{AppVPackageRoot}]\Reader\AcroRd32.exe</ApplicationId>
                  <Name>Printto</Name>
                  <CommandLine>"[{AppVPackageRoot}]\Reader\AcroRd32.exe"  /t "%1" "%2" "%3" "%4"</CommandLine>
                </ShellCommand>
                <ShellCommand>
                  <ApplicationId>[{AppVPackageRoot}]\Reader\AcroRd32.exe</ApplicationId>
                  <Name>Read</Name>
                  <FriendlyName>Open with Adobe Reader 9</FriendlyName>
                  <CommandLine>"[{AppVPackageRoot}]\Reader\AcroRd32.exe" "%1"</CommandLine>
                </ShellCommand>
              </ShellCommands>
            </ProgId>
          </FileTypeAssociation>
        </Extension>

Примечание

В этом примере:

  • <Name>.xdp</Name> — это расширение;

  • <Name>AcroExch.XDPDoc</Name> — это значение ProgId (которое указывает на соседний ProgId);

  • <CommandLine>"[{AppVPackageRoot}]\Reader\AcroRd32.exe" "%1"</CommandLine> — командная строка, указывающая на исполняемый файл приложения.

Расширения оболочки

Расширения оболочки автоматически внедряются в пакет во время процесса виртуализации. Если пакет публикуется глобально, расширение оболочки предоставляет пользователям такие же функциональные возможности, как и при локальной установке приложения. Для включения функциональности расширения оболочки не требуется дополнительная настройка или конфигурация приложения на клиенте.

Требования к использованию расширений оболочки:

  • Пакеты, содержащие внедренные расширения оболочки, должны быть опубликованы глобально.

  • «Разрядность» приложения, Sequencer и клиента App-V должны соответствовать друг другу. В противном случае расширения оболочки не будут работать. Пример:

    • версия приложения — 64-разрядная;

    • Sequencer работает на 64-разрядном компьютере;

    • пакет доставляется на 64-разрядный компьютер клиента App-V.

В следующей таблице приведены поддерживаемые расширения оболочки.

Обработчик Описание

Обработчик контекстного меню

Добавляет пункты меню в контекстное меню. Этот обработчик вызывается перед отображением контекстного меню.

Обработчик действия перетаскивания

Управляет действием перетаскивания при щелчке правой кнопкой мыши и изменяет появляющееся контекстное меню.

Обработчик объекта-приемника

Управляет действием после перетаскивания объекта данных в место переноса, например в файл.

Обработчик объекта данных

Управляет действием после копирования файла в буфер обмена или перетаскивания его в место переноса. Может предоставлять дополнительные форматы буфера обмена для объекта-приемника.

Обработчик страницы свойств

Заменяет или добавляет страницы в диалоговом коне страницы свойств объекта.

Обработчик подсказок

Позволяет извлекать флаги и сведения подсказки для элемента и отображать их во всплывающей подсказке при наведении указателя мыши.

Обработчик столбцов

Позволяет создавать и отображать настраиваемые столбцы в представлении сведений проводника. Может использоваться для расширения сортировки и группирования.

Обработчик предварительного просмотра

Обеспечивает предварительный просмотр файла для отображения в области предварительного просмотра проводника Windows.

COM

Клиент App-V поддерживает публикацию приложений с поддержкой интеграции COM и виртуализации. Интеграция COM позволяет клиенту App-V регистрировать COM-объекты в локальной операционной системе и виртуализировать эти объекты. Для целей настоящего документа интеграция COM-объектов требует дополнительных сведений.

App-V поддерживает регистрацию COM-объектов из пакета в локальной операционной системе с двумя типами обработки: внепроцессной и внутрипроцессной. Регистрация COM-объектов осуществляется с использованием одного режима или комбинации из нескольких режимов работы для конкретного пакета App-V, включая отключенный, изолированный и интегрированный режим. Интегрированный режим настраивается для внепроцессного или внутрипроцессного типа. Настройка режимов и типов COM осуществляется с помощью файлов динамической конфигурации (deploymentconfig.xml или userconfig.xml).

Сведения об интеграции App-V см. по адресу https://go.microsoft.com/fwlink/?LinkId=392834.

Программные клиенты и возможности приложений

App-V поддерживает определенные точки расширения программных клиентов и возможностей приложений, позволяющие регистрировать виртуализированные приложения в программном клиенте операционной системы. Благодаря этому пользователи могут выбирать программы по умолчанию для таких операций, как работа с электронной почтой, обмен мгновенными сообщениями и использование мультимедиапроигрывателя. Это выполняется в панели управления путем настройки доступа программ и параметров по умолчанию и настраивается во время виртуализации в файлах манифеста или динамической конфигурации. Возможности приложения поддерживаются только в том случае, если приложения App-V публикуются глобально.

Ниже приведен пример регистрации программного клиента для почтового клиента на основе App-V.

    <SoftwareClients Enabled="true">
      <ClientConfiguration EmailEnabled="true" />
      <Extensions>
        <Extension Category="AppV.SoftwareClient">
          <SoftwareClients>
            <EMail MakeDefault="true">
              <Name>Mozilla Thunderbird</Name>
              <Description>Mozilla Thunderbird</Description>
              <DefaultIcon>[{ProgramFilesX86}]\Mozilla Thunderbird\thunderbird.exe,0</DefaultIcon>
              <InstallationInformation>
                <RegistrationCommands>
                  <Reinstall>"[{ProgramFilesX86}]\Mozilla Thunderbird\uninstall\helper.exe" /SetAsDefaultAppGlobal</Reinstall>
                  <HideIcons>"[{ProgramFilesX86}]\Mozilla Thunderbird\uninstall\helper.exe" /HideShortcuts</HideIcons>
                  <ShowIcons>"[{ProgramFilesX86}]\Mozilla Thunderbird\uninstall\helper.exe" /ShowShortcuts</ShowIcons>
                </RegistrationCommands>
                <IconsVisible>1</IconsVisible>
                <OEMSettings />
              </InstallationInformation>
              <ShellCommands>
                <ApplicationId>[{ProgramFilesX86}]\Mozilla Thunderbird\thunderbird.exe</ApplicationId>
                <Open>"[{ProgramFilesX86}]\Mozilla Thunderbird\thunderbird.exe" -mail</Open>
              </ShellCommands>
              <MAPILibrary>[{ProgramFilesX86}]\Mozilla Thunderbird\mozMapi32_InUse.dll</MAPILibrary>
              <MailToProtocol>
                <Description>Thunderbird URL</Description>
                <EditFlags>2</EditFlags>
                <DefaultIcon>[{ProgramFilesX86}]\Mozilla Thunderbird\thunderbird.exe,0</DefaultIcon>
                <ShellCommands>
                  <ApplicationId>[{ProgramFilesX86}]\Mozilla Thunderbird\thunderbird.exe</ApplicationId>
                  <Open>"[{ProgramFilesX86}]\Mozilla Thunderbird\thunderbird.exe" -osint -compose "%1"</Open>
                </ShellCommands>
              </MailToProtocol>
            </EMail>
          </SoftwareClients>
        </Extension>
      </Extensions>
    </SoftwareClients>

Примечание

В этом примере:

  • <ClientConfiguration EmailEnabled="true" /> — общий параметр Software Clients для интеграции клиентов электронной почты;

  • <EMail MakeDefault="true"> — флаг для установки конкретного клиента электронной почты в качестве клиента электронной почты по умолчанию;

  • <MAPILibrary>[{ProgramFilesX86}]\Mozilla Thunderbird\mozMapi32_InUse.dll</MAPILibrary> — регистрация библиотеки DLL MAPI.

Обработчик протокола URL-адресов

Приложения не всегда вызывают виртуализированные приложения, используя вызов типа файла. Например, в приложении, которое поддерживает включение ссылки mailto: в документ или веб-страницу, пользователь, нажимающий ссылку mailto:, ожидает получить зарегистрированный почтовый клиент. App-V поддерживает обработчики протокола URL-адресов, которые могут быть зарегистрированы для отдельных пакетов в локальной операционной системе. Во время виртуализации обработчики протокола URL-адресов автоматически добавляются в пакет.

В ситуациях, когда имеется несколько приложений, которые могут зарегистрировать конкретный обработчик протокола URL-адресов, файлы динамической конфигурации можно использовать для изменения поведения и отмены или отключения этой функции для приложения, которое не должно быть основным запущенным приложением.

AppPath

Точка расширения AppPath поддерживает вызов приложений App-V непосредственно из операционной системы. Обычно это выполняется из меню «Выполнить» или из начального экрана, в зависимости от операционной системы, что позволяет администраторам предоставлять доступ к приложениям App-V из команд или сценариев операционной системы без вызова определенного пути к исполняемому файлу. Таким образом, это исключает необходимость изменения переменной среды системного пути во всех системах, поскольку выполняется во время публикации.

Точка расширения AppPath настраивается в манифесте или в файлах динамической конфигурации и хранится в реестре на локальном компьютере во время публикации для пользователя. Дополнительные сведения о AppPath см. по адресу https://go.microsoft.com/fwlink/?LinkId=392835.

Виртуальное приложение

Эта подсистема предоставляет список приложений, собранных во время виртуализации, которые обычно используются другими компонентами App-V. Интеграцию точек расширения, относящихся к конкретному приложению, можно отключить с помощью файлов динамической конфигурации. Например, если пакет содержит два приложения, можно отключить все точки расширения, принадлежащие одному приложению, чтобы разрешить только интеграцию точек расширения другого приложения.

Правила точек расширения

Описанные выше точки расширения интегрируются в операционную систему в зависимости от того, как были опубликованы пакеты. При глобальной публикации точки расширения помещаются в общедоступных местах на компьютере, а при публикации для пользователя точки расширения помещаются в пользовательских расположениях. Например, ярлык, который создается на рабочем столе и публикуется глобально, будет вести к файловым данным для ярлыка (%Public%\Desktop) и к данным реестра (HKLM\Software\Classes). Тот же самый ярлык будет иметь файловые данные (%UserProfile%\Desktop) и данные реестра (HKCU\Software\Classes).

Не все точки расширения публикуются одинаковым способом, поскольку для одних точек расширения требуется глобальная публикация, а для других требуется виртуализация в определенной операционной системе и архитектуре, где они доставляются. В таблице ниже описываются эти два основных правила.

Виртуальное расширение Требуется виртуализация в целевой ОС Требуется глобальная публикация

Ярлык

Сопоставление типов файлов

Протоколы URL-адресов

X

Пути AppPath

X

Режим COM

Программный клиент

X

Возможности приложения

X

X

Обработчик контекстного меню

X

X

Обработчик действия перетаскивания

X

Обработчик объекта данных

X

Обработчик страницы свойств

X

Обработчик подсказок

X

Обработчик столбцов

X

Расширения оболочки

X

Вспомогательный объект браузера

X

X

Объект ActiveX

X

X

Обработка динамической конфигурации

Развертывание пакетов App-V для одного компьютера или пользователя выполняется очень просто. Однако поскольку организации развертывают приложения AppV по бизнес-направлениям и через географические и политические границы, становится невозможной однократная виртуализация приложения с одним набором параметров. Среда App-V была разработана для этого сценария, поскольку в ней не только записываются определенные параметры и конфигурации во время виртуализации в файле манифеста, но также поддерживается изменение с помощью файлов динамической конфигурации.

Динамическая конфигурация App-V позволяет указывать политику для пакета на уровне компьютера или на уровне пользователя. С помощью файлов динамической конфигурации инженеры службы виртуализации могут изменять конфигурацию пакета после виртуализации для удовлетворения требований отдельных групп пользователей или компьютеров. В некоторых случаях может потребоваться внесение изменений в приложение для обеспечения правильной работы в среде App-V. Например, может потребоваться внести изменения в файлы _*config.xml, чтобы разрешить выполнение определенных действий в указанное время во время выполнения приложения, таких как отключение расширения mailto, чтобы предотвратить перезапись виртуализированным приложением этого расширения из другого приложения.

Пакеты App-V содержат файл манифеста внутри файла пакета с расширением .appv, который представляет операции виртуализации и политику выбора, если файлы динамической конфигурации не назначены конкретному пакету. После виртуализации файлы динамической конфигурации можно изменять, чтобы разрешить публикацию приложения для разных компьютеров или пользователей с разными точками расширения. Существует два файла динамической конфигурации — файл динамической конфигурации развертывания (DDC) и файл динамической конфигурации пользователя (DUC). В этом разделе рассматривается комбинация файла манифеста и файлов динамической конфигурации.

Пример файлов динамической конфигурации

В приведенном ниже примере показана комбинация файлов манифеста, конфигурации развертывания и конфигурации пользователя после публикации и во время обычной работы. В этом примере показаны сокращенные примеры этих файлов. Цель заключается в том, чтобы показать только комбинацию файлов, а не дать полное описание определенных категорий, доступных в каждом из файлов. Дополнительные сведения см. в руководстве по виртуализации App-V 5, которое можно загрузить по адресу https://go.microsoft.com/fwlink/?LinkID=269810

Манифест

<appv:Extension Category="AppV.Shortcut">
     <appv:Shortcut>
          <appv:File>[{Common Programs}]\7-Zip\7-Zip File Manager.lnk</appv:File>
          <appv:Target>[{AppVPackageRoot}]\7zFM.exe</appv:Target>
          <appv:Icon>[{AppVPackageRoot}]\7zFM exe.O.ico</appv:Icon>
     </appv:Shortcut>
</appv:Extension>

Конфигурация развертывания

<MachineConfiguration>
     <Subsystems>
          <Registry>
               <Include>
                    <Key Path= "\REGISTRY\Machine\Software\7zip">
                    <Value Type="REG_SZ" Name="Config" Data="1234"/>
                    </Key>
               </Include>
          </Registry>
     </Subsystems>

Конфигурация пользователя

<UserConfiguration>
     <Subsystems>
<appv:ExtensionCategory="AppV.Shortcut">
     <appv:Shortcut>
          <appv:File>[{Desktop}]\7-Zip\7-Zip File Manager.lnk</appv:File>
          <appv:Target>[{AppVPackageRoot}]\7zFM.exe</appv:Target>
          <appv:Icon>[{AppVPackageRoot}]\7zFM exe.O.ico</appv:Icon>
     </appv:Shortcut>
</appv:Extension>
     </Subsystems>
<UserConfiguration>
     <Subsystems>
<appv:Extension Category="AppV.Shortcut">
     <appv:Shortcut>
          <appv:Fìle>[{Desktop}]\7-Zip\7-Zip File Manager.lnk</appv:File>
          <appv:Target>[{AppVPackageRoot}]\7zFM.exe</appv:Target>
          <appv:lcon>[{AppVPackageRoot}]\7zFM.exe.O.ico</appv:Icon>
     </appv:Shortcut>
     <appv:Shortcut>
          <appv:File>[{Common Programs}]\7-Zip\7-Zip File Manager.Ink</appv:File>
          <appv:Target>[{AppVPackageRoot}]\7zFM.exe</appv:Target>
          <appv:lcon>[{AppVPackageRoot)]\7zFM.exe.O.ico</appv: Icon>
     </appv:Shortcut>
</appv:Extension>
     </Subsystems>
<MachineConfiguration>
     <Subsystems>
          <Registry>
               <Include>
                    <Key Path="\REGISTRY\Machine\Software\7zip">
                    <Value Type=”REG_SZ" Name="Config" Data="1234"/>
               </Include>
          </Registry>
     </Subsystems>

Параллельные сборки

App-V поддерживает автоматическую упаковку параллельных (SxS) сборок во время виртуализации и развертывание на клиенте во время публикации виртуального приложения. App-V 5 с пакетом обновления 2 (SP2) поддерживает запись параллельных сборок во время виртуализации для сборок, отсутствующих на компьютере виртуализации. Для сборок, включающих в себя среду выполнения Visual C++ (версии не ниже 8) и/или MSXML, эти зависимости автоматически обнаруживаются и записываются секвенсором даже в том случае, если они не установлены в процессе наблюдения. Компонент параллельных сборок устраняет ограничения предыдущих версий App-V, в которых Sequencer App-V не записывал сборки, уже присутствующие на рабочей станции виртуализации, и приватизацию сборок, ограниченную одной битовой версией на пакет. В результате такого поведения приложения App-V развертывались для клиентов с отсутствующими необходимыми параллельными сборками, что приводило к сбоям запуска приложения. Это заставляло документировать процесс упаковки, а затем проверять, были ли все сборки, необходимые для пакетов, установлены локально в операционной системы пользователя, чтобы обеспечить поддержку виртуальных приложений. В зависимости от числа сборок и отсутствия документации по необходимым зависимостям в приложениях эта задача представляла собой одновременно задачу управления и задачу реализации.

Поддержка параллельных сборок в App-V имеет следующие возможности.

  • Автоматически собирает параллельные сборки во время виртуализации независимо от того, была ли сборка уже установлена на рабочей станции виртуализации.

  • Клиент App-V автоматически устанавливает необходимые параллельные сборки на клиентском компьютере во время публикации, когда они отсутствуют.

  • Sequencer сообщает о зависимостях среды выполнения VC с помощью механизма отчетов Sequencer.

  • Секвенсор позволяет запретить упаковку сборок, уже установленных на секвенсоре; эта функция предназначена для ситуаций, когда сборки ранее установлены на компьютерах-адресатах.

Автоматическая публикация параллельных сборок

Во время публикации пакета App-V с параллельными сборками клиент App-V будет проверять наличие сборки на компьютере. Если сборка отсутствует, клиент будет разворачивать ее на компьютере. Пакеты, которые являются частью связывающих групп, будут зависеть от установок параллельных сборок, которые являются частью базовых пакетов, поскольку связывающая группа не содержит какие-либо сведения об установке сборок.

Примечание

Отмена публикации или удаление пакета с использованием сборки не удаляет сборки для этого пакета.

Ведение журнала клиента

Клиент App-V регистрирует сведения в журнале событий Windows в стандартном формате ETW. Определенные события App-V можно найти в Просмотре событий в разделе «Журналы приложений и служб\Microsoft\AppV\Клиент».

Примечание

В App-V 5.0 с пакетом обновления 3 (SP3) некоторые журналы объединены и перемещены в следующее расположение:

Event logs/Applications and Services Logs/Microsoft/AppV/ServiceLog

Список перемещенных журналов см. в разделе App-V event logs have been consolidated.

Существует три определенные категории регистрируемых событий, которые описываются ниже.

Администрирование: регистрируются события для конфигураций, применяемых к клиенту App-V, содержащие основные предупреждения и ошибки.

Операционные: регистрируются общие события выполнения App-V и использования отдельных компонентов, создающие журнал аудита операций App-V, которые были выполнены в клиенте App-V.

Виртуальное приложение: регистрируются события запуска приложений и использования подсистем виртуализации.

Есть предложение для App-V?

Выдвигайте предложения и голосуйте за них здесь. Ответы на вопросы, возникающие при работе с App-V, можно найти на форуме TechNet по App-V.

-----
Дополнительные сведения о MDOP можно найти в библиотеке TechNet, статьях по устранению неполадок на вики-сайте TechNet или подписавшись на новости в Facebook или Twitter.
-----