MSIX app attach的特性与限制
在短短几年内,MSIX app attach已经经历了巨大演变。 随着微软更新其应用交付生态系统,app attach已成为Azure Virtual Desktop(AVD)中应用部署的战略方向。这一转变使组织能够简化应用管理、降低基础设施复杂性,并将虚拟化应用交付扩展到混合云和云环境中。
通过这些变化,IT团队在应用程序生命周期管理方面获得了更大的灵活性和控制力。组织应评估app attach的最新更新,将其视为刷新IT战略、优化许可和基础设施成本的机会。
微软应用虚拟化的近期变化
2023年4月,微软宣布App-V作为一个产品已停止开发,并将于2026年达到其生命周期终结(EOL)。然而,在2024年11月,该公司宣布了以下变化:
- 之前针对App-V客户端的EOL公告被撤销。
- 对App-V Sequencer的弃用声明被撤销。
- App-V Server仍将在同一日期达到EOL。
- AVD中的app attach功能现在将支持交付MSIX包和App-V包。
- 原始的MSIX app attach功能将于2025年6月1日被弃用。
- 新的app attach将包含来自第三方供应商的集成,支持通过与AVD Azure控制台集成的额外第三方软件进行包交付。
由于这些变化,App-V包的主要交付方法将通过app attach进行,因此仍在使用的App-V的组织可以继续在AVD中使用app attach进行交付。
什么是app attach?
App attach是一项将基于MSIX、App-V和AppX的应用程序交付给AVD虚拟机(VM)的功能。App-V是一种虚拟化应用格式,而AppX主要是Universal Windows Platform应用的包装器。 MSIX,最简单的形式是Windows应用的打包格式。与传统的Microsoft Installer(MSI)格式相比,它提供了更新和改进的打包体验及生命周期管理。它还保留了当前应用程序包和安装文件的功能。此外,MSIX为打包和部署Win32、Windows Presentation Foundation和Windows Forms应用引入了新功能。
IT还可以配置MSIX打包的应用程序在名为AppContainer的容器内运行。在此容器内,主应用程序进程及其子进程都在其中运行,使它们能够通过类似于App-V所提供的文件系统和注册表虚拟化进行隔离运行。这让IT专业人员可以在同一台机器上运行同一应用程序的多个版本,而不会在需要读取或写入同一组文件或注册表时引起任何冲突。 每个AppContainer应用程序都可以访问全局注册表。但是,它只写入其单独的虚拟注册表和应用程序数据目录。这确保了在应用程序卸载或重置时数据会被移除。AppContainer应用程序的虚拟注册表和文件系统对于同一主机上的其他应用程序仍然不可访问。
app attach在AVD中的工作原理
App attach为其包定义使用一种独特的格式,与标准的MSIX格式不同。这确保了当用户登录到Windows VDI会话时,应用程序能够快速可用。具体来说,该包格式是一个远程挂载的Windows磁盘分区或卷,而不是复制到用户的虚拟机中,然后再集成到环境中。 在交付标准MSIX包方面,app attach除了加快包为用户准备的速度之外,没有增加新的功能。此外,微软设计此功能是为了与AVD配合工作,以提供应用程序流。
IT可以将app attach包分配到任何主机池或会话主机,并分发给多个主机池。app attach的好处之一是其现在支持两种常见的身份验证选项:Active Directory(AD)加入或Entra ID加入。这使得IT能够处理应用程序部署,而无需任何AD域控制器。 App attach的工作原理是将应用程序映像存储在SMB版本3文件共享上,该共享在用户登录时挂载到每个会话主机上。这种设置在存储方面非常灵活,因此IT不受限于特定的存储类型。微软的建议是使用Azure Files,因为它与Microsoft Entra ID和AD域服务(AD DS)都兼容。 另一种选择是Azure NetApp Files,但它要求会话主机加入AD DS,因为它不支持Entra ID。 AVD中的每个主机都从文件共享挂载应用程序映像。这意味着每个主机都需要具有NTFS和共享权限才能从文件共享读取对象。 例如,如果管理员计划在Entra ID加入的设备上使用AVD app attach,他们只需要将“读取者和数据访问”角色分配给AVD和Azure资源管理器提供程序服务主体。 在计划为生产环境部署时,IT必须采取以下措施:
- 确保文件共享与会话主机位于同一Azure区域。
- 如果使用Azure Files,请确保存储帐户也与会话主机位于同一区域。
- 将包含应用程序的磁盘映像从防病毒扫描(如Defender)中排除,因为它们是只读的。
- 确保存储和网络结构能够提供足够的性能。
- 避免将同一文件共享用于FSLogix配置文件容器。
在VDI主机上集成MSIX应用程序的过程包括三个步骤:挂载、暂存和注册。对于单用户操作系统,这些步骤针对每个包单独执行。在多用户操作系统中,对于已为另一个用户添加的包,可能会省略挂载和暂存步骤。一旦应用程序被注册,它就在与使用传统MSIX格式部署时相同的MSIX容器内运行。这种方法让应用程序如同本地安装一样运行。
app attach实施要求
MSIX支持其他Windows操作系统,包括Windows Server以及Windows 10和11的单会话和多会话配置。但是,app attach功能专门要求Windows 10或11。
| 操作系统 | MSIX支持 | App attach支持 |
|---|---|---|
| Windows Server 2019 | 是 | 否 |
| Windows Server 2022 | 是 | 否 |
| Windows 10 和 11 单会话 | 是 | 是 |
| Windows 10 和 11 多会话 | 是 | 是 |
对于app attach,IT可以使用新的复合映像文件系统(CimFS)、VHDX或虚拟硬盘(VHD)作为磁盘映像,不过微软不建议使用VHD。挂载和卸载CimFS映像的速度也比VHD和VHDX快得多。此外,这些进程消耗的CPU和内存更少。微软特别建议,如果会话主机运行Windows 11,则使用CimFS作为应用程序映像。然而,目前针对CimFS使用的工具还不多。它还绕过了VHD/VHDX所具有的256字符路径限制,这通常会影响诸如与Python发行版捆绑在一起的应用程序。 在这三种格式中,MSIX文件使用app attach时是未压缩存储的,这与原始MSIX包(其中文件是压缩的)不同。因此,平均而言,应用程序在存储它们的文件共享上所占用的空间是MSIX包的2.5倍。 然而,app attach的优势之一是不需要任何额外的基础设施,只需要存储。其他应用程序分层和虚拟化服务则有一些基础设施要求。
app attach的未来
App attach很可能将成为向AVD部署应用程序的默认服务。app attach支持App-V的消息使得组织更容易推迟转换其现有App-V应用程序的工作,因为并非所有应用程序都能直接转换为新的MSIX格式。 即使在Windows 11版本24H2中MSIX格式进行了更改以提高兼容性,一些组织仍在为老旧应用程序而挣扎。 这也是为什么微软开始允许第三方供应商在app attach之上构建集成。这有助于提高应用程序兼容性,同时也提供了更多的控制机制,以便更动态地处理应用程序分发。以下供应商现在能够与app attach集成:
- Liquidware FlexApp。
- Numecent Cloudpager。
- Omnissa App Volumes。
使用第三方供应商的优势之一是对非Azure平台的支持以及在物理设备上运行的能力。与传统的基于MSIX的应用程序相比,它们还提供更高的兼容性。另一个特性是支持应用程序分组。这允许,例如,两个给定的应用程序在它们自己的虚拟环境中交互,这对于具有某种形式集成的应用程序非常有用。 基于MSIX的应用程序还需要用代码证书进行签名,该证书可以来自受信任的证书颁发机构或自签名证书,但必须被主机池信任。对于没有相同要求的第三方来说,这个过程要简单得多。
这些变化对组织意味着什么?
因为app attach支持Entra ID且不需要专用基础设施,它提供了一种经济高效的方式为AVD交付应用程序。 随着微软仅在基于AVD的环境中支持App-V的战略,很明显,该公司希望推动现有的App-V客户也将他们的VDI工作负载迁移到Azure。虽然它提供的功能可能适用于许多组织,但其他组织可能有特殊要求或复杂的应用程序列表,需要第三方工具。 这些发展表明了微软有意使app attach成为AVD中应用程序交付的标准,为组织提供了一个可扩展的工作空间管理基础。
Marius Sandbu是挪威Sopra Steria的云布道师,主要专注于终端用户计算和云原生技术。