Featured image of post MSIX应用附加功能详解:特性、限制与实现指南

MSIX应用附加功能详解:特性、限制与实现指南

本文深入解析MSIX应用附加技术在Azure虚拟桌面中的实现原理,涵盖其核心特性、系统要求、部署流程及第三方集成方案,帮助IT团队优化应用交付策略并降低基础设施成本。

MSIX应用附加功能详解:特性、限制与实现指南

在短短几年内,MSIX应用附加技术经历了显著演进。随着微软更新其应用交付生态系统,应用附加已成为Azure虚拟桌面(AVD)中应用部署的战略方向。这一转变使组织能够简化应用管理、降低基础设施复杂性,并将虚拟化应用交付扩展到混合云和云环境。

通过这些变更,IT团队在应用程序生命周期管理方面获得了更大的灵活性和控制权。组织应评估应用附加的最新更新,将其视为刷新IT战略、优化许可和基础设施成本的机会。

微软应用虚拟化的最新变化

2023年4月,微软宣布App-V产品停止开发,将于2026年终止支持(EOL)。但在2024年11月,公司宣布了以下变更:

  • 先前对App-V客户端的EOL声明被撤销
  • App-V Sequencer的弃用被撤销
  • App-V Server仍将在原定日期达到EOL
  • AVD中的应用附加功能现在支持交付MSIX包和App-V包
  • 原始MSIX应用附加功能将于2025年6月1日弃用
  • 新的应用附加将包含第三方供应商的集成,支持通过额外第三方软件进行包交付

由于这些变更,App-V包的主要交付方法将通过应用附加实现,因此仍在使用App-V的组织可以继续在AVD中使用应用附加。

什么是应用附加?

应用附加是一项向AVD虚拟机交付基于MSIX、App-V和AppX的应用程序的功能。App-V是一种虚拟化应用程序格式,AppX主要是通用Windows平台应用的包装器。

MSIX最简单的形式是Windows应用的打包格式。与传统的Microsoft安装程序(MSI)格式相比,它提供了更新和改进的打包体验及生命周期管理。它还保留了当前应用包和安装文件的功能。此外,MSIX引入了用于打包和部署Win32、Windows Presentation Foundation和Windows Forms应用的新功能。

IT还可以配置MSIX打包的应用程序在名为AppContainer的容器内运行。在此容器内,主应用进程及其子进程都在运行,使它们能够通过文件系统和注册表虚拟化(类似于App-V提供的功能)以隔离方式运行。这让IT专业人员可以在同一台机器上运行同一应用程序的多个版本,而不会在需要读取或写入同一组文件或注册表时产生任何冲突。

每个AppContainer应用程序都可以访问全局注册表。但是,它只写入其单独的虚拟注册表和应用程序数据目录。这确保了在应用程序卸载或重置时数据会被删除。AppContainer应用的虚拟注册表和文件系统对同一主机上的其他应用程序保持不可访问。

应用附加在AVD中的工作原理

应用附加为其包定义使用独特格式,与标准MSIX格式不同。这确保了当用户登录Windows VDI会话时,应用程序能够快速可用。具体来说,包格式是远程挂载的Windows磁盘分区或卷,而不是复制到用户的虚拟机中然后集成到环境中。

在交付标准MSIX包方面,应用附加除了加快包准备速度外,没有增加新功能。此外,微软设计该功能与AVD配合工作,以提供应用流。

IT可以将应用附加包分配到任何主机池或会话主机,并将其分发到多个主机池。应用附加的一个好处是它现在支持两种常见的身份选项:Active Directory(AD)或Entra ID加入。这使得IT能够处理应用部署,而无需任何AD域控制器。

应用附加的工作原理是将应用映像存储在SMB版本3文件共享上,该共享在用户登录时挂载到每个会话主机上。这种设置在存储方面很灵活,因此IT不受特定存储类型的限制。微软的建议是使用Azure Files,因为它与Microsoft Entra ID和AD域服务(AD DS)都兼容。

另一种选择是Azure NetApp Files,但它要求会话主机加入AD DS,因为它不支持Entra ID。

AVD中的每个主机都从文件共享挂载应用程序映像。这意味着每个主机都需要具有NTFS和共享权限才能从文件共享读取对象。

例如,如果管理员计划在Entra ID加入的设备上使用AVD应用附加,他们只需要为AVD和Azure资源管理器提供程序服务主体分配"读取器和数据访问"角色。

在计划为生产环境部署此功能时,IT必须采取以下措施:

  • 确保文件共享与会话主机位于同一Azure区域
  • 如果使用Azure Files,确保存储帐户也与会话主机位于同一区域
  • 从防病毒扫描(如Defender)中排除包含应用的磁盘映像,因为它们是只读的
  • 确保存储和网络结构能够提供足够的性能
  • 避免将同一文件共享用于FSLogix配置文件容器

在VDI主机上集成MSIX应用程序的过程涉及三个步骤:挂载、暂存和注册。对于单用户操作系统,这些步骤对每个包单独执行。在多用户操作系统中,对于已为另一用户添加的包,可能会省略挂载和暂存步骤。一旦应用程序注册,它就在与使用传统MSIX格式部署时相同的MSIX容器内运行。这种方法使应用程序的功能就像本地安装一样。

应用附加实施要求

MSIX支持其他Windows操作系统,包括Windows Server以及Windows 10和11的单会话和多会话配置。但是,应用附加功能特别需要Windows 10或11。

操作系统 MSIX支持 应用附加支持
Windows Server 2019
Windows Server 2022
Windows 10和11单会话
Windows 10和11多会话

对于应用附加,IT可以使用新的复合映像文件系统(CimFS)、VHDX或虚拟硬盘(VHD)作为磁盘映像,尽管微软不建议使用VHD。挂载和卸载CimFS映像也比VHD和VHDX快得多。此外,这些过程消耗的CPU和内存更少。微软特别建议,如果会话主机运行Windows 11,则使用CimFS作为应用映像。但是,对于CimFS的使用,可用的工具不多。它还绕过了VHD/VHDX具有的256个字符路径限制,这通常影响捆绑了Python发行版等应用程序。

在这三种格式中,MSIX文件使用应用附加时未压缩存储,不像原始MSIX包那样压缩。因此,平均而言,应用程序占用的存储空间是MSIX包在文件共享上存储空间的2.5倍。

然而,应用附加的一个优势是它不需要任何额外的基础设施,只需要存储。其他应用分层和虚拟化服务有一些基础设施要求。

应用附加的未来

应用附加很可能成为向AVD部署应用程序的默认服务。应用附加中支持App-V的消息使组织更容易推迟转换现有App-V应用程序的工作,因为并非所有应用程序都能直接转换为新的MSIX格式。

即使随着Windows 11版本24H2中MSIX格式变更带来的更高兼容性,一些组织仍然在处理旧应用程序的问题。

这也是微软开始允许第三方供应商在应用附加之上构建集成的原因。它有助于应用兼容性,但也提供了更多控制机制来更动态地处理应用分发。以下供应商现在能够与应用附加集成:

  • Liquidware FlexApp
  • Numecent Cloudpager
  • Omnissa App Volumes

使用第三方供应商的一个优点是支持非Azure平台以及在物理设备上运行的能力。与传统的基于MSIX的应用相比,它们还提供更高的兼容性率。另一个功能是支持应用程序分组。例如,这使得两个给定的应用程序能够在自己的虚拟环境中交互,这对于具有某种形式集成的应用程序非常有用。

基于MSIX的应用程序还需要使用代码证书进行签名,这可以来自受信任的证书颁发机构或自签名证书,必须被主机池信任。对于没有相同要求的第三方,这个过程要简单得多。

这些变更对组织意味着什么?

因为应用附加支持Entra ID并且不需要专用基础设施,它提供了一种经济高效的方式来为AVD交付应用程序。

随着微软仅支持基于AVD环境的App-V的策略,很明显公司希望推动现有的App-V客户将其VDI工作负载也迁移到Azure。虽然它提供的功能可能适用于许多组织,但其他组织有要求或复杂的应用程序列表,需要第三方工具。

这些发展显示了微软意图使应用附加成为AVD中应用程序交付的标准,为组织提供可扩展的工作空间管理基础。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计