了解 Microsoft Edge 中的 ClickOnce 和 DirectInvoke 功能

ClickOnce 和 DirectInvoke 是 IE 和 Microsoft Edge 中可用的功能,支持使用文件处理程序从网站下载文件。 尽管它们适用于不同的用途,但这两个功能都允许网站指定在用户的设备上将请求下载的文件传递到文件处理程序。 ClickOnce 请求由 Windows 中的本机文件处理程序进行处理。 DirectInvoke 请求由承载文件的网站指定的注册文件处理程序进行处理。

设置 ClickOnce 或 DirectInvoke 后,可以通过设置其他企业策略来绕过 ClickOnce 或 DirectInvoke 提示。 这些策略可以支持绕过针对所有域的指定文件类型或指定域中的指定文件类型的 ClickOnce 或 DirectInvoke 提示。

有关这些功能的详细信息,请参阅:

注意

目前,Chromium 不对 ClickOnce 或 DirectInvoke 提供本机支持。

概述:先决条件和过程

为了使 ClickOnce 和 DirectInvoke 能按照设计正常工作,并且要成功请求文件处理程序,必须在操作系统中将文件处理程序注册为支持 ClickOnce 或 DirectInvoke。 通常,在安装了原始操作系统后,或者在安装的新程序要求能够使用 DirectInvoke 进行更新时,会进行此注册。

当网站收到需要使用 ClickOnce 或 DirectInvoke 的下载请求时,会进行操作:

  • 该网站请求浏览器使用指定的文件处理程序。

  • 浏览器检查操作系统注册表,以查看是否对请求的文件类型注册了文件处理程序。

  • 如果注册了文件处理程序,则浏览器会调用此文件处理程序,并将 URL 作为参数传递给文件处理程序。

  • 文件处理程序处理 URL 并下载文件。

    注意

    该 URL 用于确定文件的来源,以及访问文件时要使用的任何参数。 例如:终结点、清单或元数据。

用例

以下用例具有代表性。

你可以使用 ClickOnce 轻松地在设备上部署和更新软件,但用户交互最少。 用户可以通过单击网页中的链接来安装和运行 Windows 应用程序。 如果配置正确,ClickOnce 应用程序可以在不让用户为安装程序设置配置的情况下安装程序。 例如,文件位置、要安装的选项等。

DirectInvoke 用例取决于请求 DirectInvoke 的网站的意图。 例如,Microsoft Word 的协作文件编辑功能。 DirectInvoke 允许你下载已更改的文档部分,而无需单击链接并下载你与同事合作的文档的整个副本。 此策略减少了传输的数据量,并可以减少打开文档所需的时间。

Microsoft Edge 中对 ClickOnce 和 DirectInvoke 的最新支持

对 ClickOnce 和 DirectInvoke 的支持:

  • ClickOnce 和 DirectInvoke 可直接供所有 Windows 用户即时使用。

    注意

    想要禁用 ClickOnce 支持的用户可以转到 edge://flags/#edge-click-once,然后从下拉列表中选择“已禁用”。 你必须重启浏览器。

  • Windows 以外的任何平台都不支持 ClickOnce 和 DirectInvoke。

ClickOnce 和 DirectInvoke 文件处理安全性

ClickOnce 和 DirectInvoke 受Microsoft 365 Defender SmartScreen 的 URL 信誉扫描服务保护。

如果 ClickOnce 或 DirectInvoke 请求被Microsoft 365 Defender SmartScreen URL 信誉服务标记为不安全,则启用了 ClickOnce 或 DirectInvoke 的用户将看到两个弹出窗口。

第一个弹出窗口询问用户是否想要打开文件。 无论文件被标记为安全还是不安全,都会显示此弹出窗口。 用户可以 将文件报告为不安全取消 请求或选择 “打开 ”以继续。

提示打开文件

如果用户尝试打开文件,并且文件被标记为不安全,则会显示第二个弹出窗口。 此弹出窗口警告用户文件被标记为不安全,并询问他们是否确定要下载该文件。

第二个弹出窗口仅在以下情况下显示:

  • 文件是 ClickOnce 或 DirectInvoke 文件
  • 已启用 ClickOnce 或 DirectInvoke
  • 文件被标记为不安全

提示打开不安全的文件

注意

如果 ClickOnce 或 DirectInvoke 被禁用,则请求的文件将被视为常规下载;如果具有不安全标志,则会将其标记为不安全。 这与其他不安全下载的处理一致。

ClickOnce 和 DirectInvoke 策略

有两个组策略可用于为企业用户启用或禁用 ClickOnce 和 DirectInvoke。 这两个策略是 ClickOnceEnabledDirectInvokeEnabled。 这两个策略在组策略编辑器中分别标记为“允许用户使用 ClickOnce 协议打开文件”和“允许用户使用 DirectInvoke 协议打开文件”。

若要指定应绕过 ClickOnce 或 DirectInvoke 提示的文件类型 () ,请使用组策略编辑器中标记为“下载时应自动打开的文件类型列表”的策略。 此策略设置将允许在下载所有域后自动打开指定的文件类型。

可以通过设置另外两个策略,绕过针对特定域的特定文件类型的 ClickOnce 或 DirectInvoke 提示。 这些策略在组策略编辑器中标记为“下载时应自动打开的文件类型列表”和“AutoOpen-FileTypes可以应用的 URL”。

注意

策略“AutoOpen- FileTypes 可以应用的 URL”是“应在下载时自动打开的文件类型列表”的支持策略,本身不执行任何操作。

若要获取 ClickOnce 协议启动行为,不得将 ClickOnceEnabled 策略配置为“禁用”,即使设置了 AutoOpenFileTypes“下载时应自动打开的文件类型列表”策略也是如此。

ClickOnce 和 DirectInvoke 行为

以下示例显示了启用或禁用 ClickOnce 和 DirectInvoke 时的文件处理。

已启用 ClickOnce

  1. 用户打开一个页面链接,以请求 ClickOnce 支持,然后在下一张屏幕截图中收到提示。

    提示打开启用了 ClickOnce 的不安全文件

  2. 用户选择“ 打开”后,ClickOnce 将尝试启动应用程序。

    ClickOnce 尝试启动应用程序

  3. 用户选择“ 打开”后,浏览器会显示一个弹出窗口,询问用户是否确定要安装该应用程序。

    提示打开文件

    注意

    ClickOnce 文件处理程序显示的接口、消息和选项因访问的文件的类型和配置而异。

已禁用 ClickOnce

  1. 当用户打开请求 ClickOnce 支持的页面的链接时,他们将在下载托盘中看到一条消息,该消息与下一个屏幕截图中的消息类似。

    文件下载提示

已启用 DirectInvoke

  1. 用户打开页面链接以请求 DirectInvoke 支持,然后在下一张屏幕截图中收到提示。

    从请求支持的页面打开文件的提示

  2. 当用户选择“ 打开”时,将打开请求的文件处理程序。 在此示例中,使用 Microsoft Word 打开上一张屏幕截图中显示的文档。

    注意

    DirectInvoke 文件处理程序显示的接口、消息和选项因访问的文件的类型和配置而异。

已禁用 DirectInvoke

  1. 当用户打开页面链接以请求 DirectInvoke 支持时,DirectInvoke 的行为与其在禁用 ClickOnce 时的行为相同。 他们将在下载托盘中看到一条消息,类似于下一个屏幕截图中的消息。

    禁用 DirectInvoke 时提示打开文件

另请参阅