共享包裹容器

共享包容器允许 IT 专业人员为打包的应用程序创建共享运行时容器 - 共享虚拟文件系统和虚拟注册表的合并视图 - 允许访问彼此的包根文件和状态。 从 Windows 10 Insider Preview 内部版本 21354 开始,IT 专业人员将能够管理哪些应用可以在哪个容器中,这对于从旧安装程序转换为 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> 

此命令为特定用户部署共享包容器定义。 可选参数包括:

参数 描述
强制应用程序关闭 关闭当前在共享包容器中运行的所有包。

删除共享的包裹容器

Remove-AppSharedPackageContainer -Name <name>  

此命令删除特定用户的共享包容器定义。 可选参数包括:

参数 描述
强制应用关闭 关闭共享包容器中的所有包。

获取有关共享包容器的信息

Get-AppSharedPackageContainer -Name <name> 

此命令获取有关共享包容器的信息。 具体而言,它将显示共享容器中有哪些包。

重置共享包容器

Reset-AppSharedPackageContainer -Name <name>  

此命令会销毁容器的所有应用程序数据,包括虚拟文件和注册表项。

部署已预配的包容器

此命令部署预配的共享包容器。

Add-AppProvisionedSharedPackageContainer -DefinitionFile "<filepath>" -Online

验证是否已部署预配的包容器

此命令可验证预配的共享包容器是否已部署

Get-AppProvisionedSharedPackageContainer -Online

删除预配的软件包容器

此命令可删除预配的共享包容器

Remove-AppProvisionedSharedPackageContainer -Name "<name>" -Online