Общий контейнер пакетов

Контейнеры общих пакетов позволяют ИТ-специалистам создавать общий контейнер среды выполнения для упакованных приложений, предоставляя общий доступ к объединенной представлению виртуальной файловой системы и виртуального реестра, что обеспечивает доступ к корневым файлам пакетов и состоянию друг друга. Начиная со сборки Windows 10 Insider Preview 21354, ИТ-специалисты смогут управлять приложениями, которые могут находиться в контейнере, важном для преобразования MSIX из устаревших установщиков. Концепция общего контейнера используется в основном для настройки, совместного использования необходимого программного обеспечения и поддержки надстроек для преобразованных приложений. Обратите внимание, что это только корпоративная функция, для использования которой требуются права администратора.

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

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

Предварительное требование

Чтобы использовать эту функцию, предприятиям потребуется администратор на устройстве. Кроме того, все пакеты должны быть msix-пакетами. Чтобы упаковать установщики как пакет MSIX, перейдите к нашему пакету создания из существующей документации по установщику.

Определение контейнера общего пакета

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

<?xml version="1.0" encoding="utf-8"?> 
<AppSharedPackageContainer Name="ContosoContainer"> 
  <PackageFamily Name="Fabrikam.MainApp_8wekyb3d8bbwe"/> 
  <PackageFamily Name="Contoso.MainApp_8wekyb3d8bbwe"/> 
  <PackageFamily Name="ContosoCustomize_7xekyb3d8ccde"/> 
</AppSharedPackageContainer>   

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

Команды PowerShell

Развертывание определения общего контейнера пакета

Add-AppSharedPackageContainer <path> 

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

Параметр Описание
ForceApplicationShutdown Закрывает все пакеты, которые в настоящее время выполняются в общем контейнере пакетов.

Удаление общего контейнера пакетов

Remove-AppSharedPackageContainer -Name <name>  

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

Параметр Описание
ForceApplicationShutdown Закрывает все пакеты в общем контейнере пакетов.

Получение сведений о контейнере общего пакета

Get-AppSharedPackageContainer -Name <name> 

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

Сброс контейнера общего пакета

Reset-AppSharedPackageContainer -Name <name>  

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