从网页安装 Windows 10 应用

重要

本主题介绍 ms-appinstaller URI(统一资源标识符)方案(协议)以及如何使用。 IT 专业人员(管理员)可以禁用此 URI 方案。 若要在网络上禁用 ms-appinstaller ,请将组策略 EnableMSAppInstallerProtocol (/windows/client-management/mdm/policy-csp-desktopappinstaller)设置为禁用(请参阅 策略 CSP - DesktopAppInstaller)。 如果组策略 EnableMSAppInstallerProtocol 设置为已启用,或者未指定,则 启用 ms-appinstaller

ms-appinstaller URI 方案处于禁用状态时,应用安装程序将能直接从 Web 服务器安装应用(即本主题要介绍的内容)。 这种情况下,用户需要首先下载应用。 通过删除 'ms-appinstaller:?source=' 来更新网站上的链接,以便下载 MSIX 包或 .appinstaller 文件。 这可能会增加某些包的下载大小。 然后,用户可以使用应用安装程序来安装包。

通常,应用需要在设备上本地可用,然后才能使用应用安装程序进行安装。 对于 Web 应用场景,这意味着用户必须从 Web 服务器下载应用包,然后才能使用应用安装程序进行安装。 这样做效率低下且浪费磁盘空间,这就是为什么应用安装程序现在内置了此功能来简化该过程。

应用安装程序可以直接从 Web 服务器安装应用。 当用户单击应用包托管的 Web 链接时,将自动调用应用安装程序。 然后,用户将进入应用安装程序中的应用信息视图,只需单击一下即可直接与应用互动。

直接应用安装仅在 Windows 10 Fall Creators Update 和更高版本中可用。 以前版本的 Windows 10 上的 Web 安装体验支持以前版本的 Windows(回退到 Windows 10 周年更新)。 这种体验不如直接应用安装那么流畅,但它对现有应用安装过程进行了重大改进。

注意

应用安装程序版本必须大于 1.0.12271.0 才能支持此功能,并且能够由 IT 专业人员(管理员)控制使用 ms-appinstaller URI(统一资源标识符)方案(协议)。 若要在网络中启动 ms-appinstaller,请将组策略 EnableMSAppInstallerProtocol (/windows/client-management/mdm/policy-csp-desktopappinstaller) 设置为启用(请参阅策略 CSP - DesktopAppInstaller)。 有关更多信息,请参阅从网页安装 Windows 10 应用

协议激活方案

在此机制中,应用安装程序向操作系统注册协议激活方案。 当用户单击 Web 链接时,浏览器将检查注册到该 Web 链接的应用的 OS。 如果方案与应用安装程序指定的协议激活方案匹配,则会调用应用安装程序。 值得注意的是,这种机制是独立于浏览器的。 这对于网站管理员是有益的,例如,他们在将其合并到网页中时不需要考虑浏览器的差异。

协议激活方案的要求

  1. Web 服务器需要支持字节范围请求 (HTTP/1.1)
    • 支持 HTTP/1.1 协议的服务器应支持字节范围请求
  2. Web 服务器需要了解 Windows 10 应用包内容类型

如何在网页上启用此功能

想要在其网站上托管应用包的应用开发人员需要执行以下步骤:

在网页上引用应用包 URI 时,使用应用安装程序注册到的激活方案 'ms-appinstaller:?source=' 作为前缀。 有关详细信息,请参阅“MyApp 网页”示例。

<html>
    <body>
        <h1> MyApp Web Page </h1>
        <a href="ms-appinstaller:?source=http://mywebservice.azureedge.net/HubApp.msix"> Install app package </a>
        <a href="ms-appinstaller:?source=http://mywebservice.azureedge.net/HubAppBundle.msixbundle"> Install app bundle  </a>
        <a href="ms-appinstaller:?source=http://mywebservice.azureedge.net/HubAppSet.appinstaller"> Install related set </a>
    </body>
</html>

注意

通过 ms-appinstaller:?source='' 客户端设备为指向 Windows 应用或 AppInstaller 文件的链接添加前缀,这将启动桌面应用安装程序,其中包含与 Windows 应用相关的详细信息。 必须在 Web 服务器上配置 MIME 类型,因为此信息将与桌面应用安装程序共享,以显示文件类型及其文件类型关联。

需要为将从网站共享的 Windows 应用和 AppInstaller 文件配置 MIME 类型。 通过包含 MIME 类型,桌面应用安装程序将快速识别文件关联,并通过后续步骤启动信息页面。 如果不包含,桌面应用安装程序必须确定文件关联,这可能会对桌面应用安装程序解释信息和启动 Windows 应用安装程序的速度产生负面影响。 Web 服务器上配置的唯一 MIME 类型是将托管在网站上的文件类型。

如果 Windows 应用安装介质托管在文件共享上,并从网站链接到该介质,则无需在 Web 服务器上配置 MIME 类型。

文件扩展名 MIME 类型
.msix application/msix
.appx application/appx
.msixbundle application/msixbundle
.appxbundle application/appxbundle
.appinstaller application/appinstaller

有关如何配置 MIME 类型的详细信息,请访问从 IIS 服务器分发 Windows 10 应用

为应用包签名

用户要安装应用,需要使用受信任的证书为应用包签名。 可以使用受信任的证书颁发机构的第三方付费证书为应用包签名。 如果使用第三方证书,用户需要在旁加载或开发人员模式下安装并运行应用。

要向企业内部员工部署应用,可以使用企业颁发的证书为应用签名。 需要注意的是,企业证书必须部署到要安装应用的设备上。 有关部署企业应用的详细信息,请参阅企业应用管理

之前版本的 Windows 10 上的 Web 安装体验

所有提供应用安装程序的 Windows 10 版本(从周年更新开始)都支持从浏览器调用应用安装程序。 但是,无需先下载包即可直接从 Web 安装的功能仅在 Windows 10 Fall Creators Update 上可用。

之前版本的 Windows 10(具有可用的应用安装程序)的用户还可以通过应用安装程序利用 Windows 10 应用的 Web 安装,但用户体验会有所不同。 当用户单击 Web 链接时,应用安装程序将提示“下载”包,而不是“安装”。 下载后,应用安装程序将自动启动下载的包。 再次单击“安装”,应用即可使用。

尽管此流程不如 Windows 10 Fall Creators Update 上的直接安装那样无缝,但用户仍然可以快速使用该应用。 此外,使用此流程进行安装,用户无需担心应用包文件在驱动器中占用空间。 应用安装程序可以将包下载到其应用数据文件夹,并在不再需要时清除包,从而有效管理空间。

下面是 Windows 10 Fall Creators Update 版本的应用安装程序和早期版本的应用安装程序的快速比较:

应用安装程序,最新版本 应用安装程序,早期版本
应用安装程序在下载开始前显示应用信息 浏览器提示用户选择下载
应用安装程序执行下载 用户必须手动启动应用包
下载包后,应用安装程序会自动启动应用包 用户必须单击“安装”并手动启动应用包
应用安装程序将负责处置下载的包 用户必须手动删除下载的文件

在 Windows 10 Fall Creators Update 之前的版本中,应用安装程序无法直接从 Web 安装应用。 在这些版本中,应用安装程序只能安装本地可用的应用包。 相反,应用安装程序将下载包,并要求用户双击下载的包进行安装。

应用安装程序安全性

随着应用安装程序的内部版本 1.24.1981,添加了以下安全措施:

  • Internet 区域验证
  • Microsoft SmartScreen 验证

Internet 区域验证

在访问 ms-appinstaller URI 方案引用的域之前,应用安装程序将验证 IT 专业人员是否允许该域。 如果域受到限制,应用安装程序将向用户显示错误。

Microsoft SmartScreen 验证

如果允许 ms-appinstaller URI 方案引用的域,应用安装程序将使用 Microsoft SmartScreen 验证 URI。 信誉检查失败的 URI 将向用户显示错误。

有关详细信息,请参阅 应用安装程序安全功能