共享包容器

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

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