什么是 MSIX?

MSIX 是新式Windows应用打包格式。 它为任何Windows应用提供可靠、干净安装和卸载、自动更新以及访问需要包标识的Windows平台功能的访问权限。

包标识 是关键概念。 将应用打包为 MSIX 时,Windows根据清单信息(例如其名称、发布者、版本、体系结构和资源标识符)为其分配标识。 需要该身份用于:

  • Windows平台 API,例如推送通知、后台任务和动态磁贴
  • 通过 Windows AI API 使用设备上的模型的 AI 功能
  • 应用商店分发和更新渠道
  • 通过 Intune 和 Configuration Manager 进行企业管理

如果不确定是打包应用还是要使用哪个打包模型,请从 打包决策指南开始。

主要功能

  • 可靠安装和卸载。 MSIX 提供 99.96% 在数百万次安装中安装成功率,并保证完全卸载,无需剩余文件或注册表项。
  • ** 差异更新。 更新时仅下载已更改的 64 KB 块,尽量减少网络影响和更新时间。
  • 磁盘空间效率。 跨应用的共享文件由Windows管理;每个应用保持独立,因此更新不会影响其他应用。
  • 容器化执行。 应用在具有虚拟文件系统和注册表的轻型容器中运行,Windows虚拟化或重定向某些文件系统和注册表写入,以减少系统影响。 请参阅 MSIX 容器化概述。
  • 企业级准备就绪 完全支持通过 Intune、Configuration Manager 和 Enterprise Modern App Management CSP 进行部署。

开始

目标 从这里开始
打包新的 UWP 应用 在 Visual Studio 中创建 MSIX 包
将现有安装程序转换为 MSIX MSIX 打包工具
从命令行打包和签名 WinApp CLI
无需应用商店提供更新 应用安装程序
在打包和解压缩之间决定 打包决策指南
了解包裹类型 MSIX 包类型
部署到企业设备 企业部署概述

亮点

  • WinApp CLI。 WinApp CLI 为完整的 MSIX 工作流提供命令行工具:在不离开终端的情况下生成证书、生成包和签名。
  • 打包现有Windows应用。 使用 MSIX 打包工具为任何Windows应用创建 MSIX 包,而无需访问源代码。
  • 应用运行时修复。 通过 包支持框架 ,无需修改源代码即可将兼容性修补程序应用于打包的应用。
  • 跨平台 SDK。 开放源代码 MSIX SDK提供了用于在任何平台上验证、验证和解压缩 MSIX 包的 API。

在 MSIX 包内

MSIX 包关系图

有效负载文件

有效负载文件是包中存储并交付的文件,包括可执行代码、库、资产、配置文件和资源。

足迹文件

足迹文件是描述、验证或支持负载内容的包元数据和基础结构文件。 核心 footprint 文件包括:

  • AppxManifest.xml 声明包标识、依赖项、功能、视觉元素和扩展点。
  • AppxBlockMap.xml 列出了包文件及其每个 64 KB 块的加密哈希值。 Windows使用它进行差异更新和完整性验证。
  • AppxSignature.p7x 包含包签名。 在安装之前,必须对所有 MSIX 包进行签名。

仅当包使用相应的功能时,其他 footprint 文件才存在。 例如, AppxContentGroupMap.xml 描述流式安装的内容组,并 AppxMetadata\CodeIntegrity.cat 包含代码完整性元数据。

Windows 打包 API 区分有效负载文件与占用空间文件。

有关包体系结构和部署行为,请参阅 MSIX 包类型、 包存储卷以及 包注册和生存期。

支持的平台

有关支持的平台的完整列表,请参阅 MSIX 功能和支持的平台。

验证、测试和故障排除

有关测试和常见错误,请参阅 MSIX 故障排除指南 和 MSIX 验证和测试概述。

应用容器的优点

可以将打包为 MSIX 的应用配置为在轻型应用容器中运行,该容器使用文件系统和注册表虚拟化隔离进程。 有关容器更改及其使用方式的完整说明,请参阅 MSIX 容器化概述。