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

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

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

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

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

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

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

Общий пакет contianer определяется .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>  

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