如果你有现有的 COM 加载项或 VSTO 加载项,则可以在 Office Web 外接程序中生成几乎等效的功能,从而使解决方案能够在其他平台上运行,例如在 Office web 版 或 Mac 中运行。 在此方案中,这两个加载项称为“等效”,你可以使用 Office Web 外接程序的清单来控制 Windows 计算机上的用户可以使用哪个加载项 (或为用户提供) 选项。
注意
由于 COM 和 VSTO 加载项只能在 Windows 上安装,本文将 COM 和 VSTO 加载项统称为“仅限 Windows”加载项。
一般情况下,仅当满足以下条件时,加载项才应被视为等效项,但在某些情况下,不符合这些条件的加载项可被视为等效项。
- 它们都由同一开发人员创建,通常是在统一清单的 属性中指定的
"developer"实体,或者仅外接程序清单中的 ProviderName 元素。 - 它们都设计为安装在同一个或多个 Office 应用程序上,并且主要处理功能重叠的相同工作负载。
- 它们具有相同或高度相似的公共名称和用户界面,包括控件名称和图标。
重要
以下平台和应用程序支持等效的外接程序功能。 COM、VSTO 和 XLL 加载项不能安装在任何其他平台上,因此在这些平台上,将忽略本文稍后讨论的清单标记。
重要
新的 Outlook on Windows 不支持 COM 和 VSTO 加载项。 经典 Outlook on Windows 桌面客户端仍支持这些加载项。 若要了解详细信息,请参阅 为 Windows 上的新 Outlook 开发 Outlook 加载项。
由于仅限 Windows 的加载项和 Office 加载项的功能可能不完全相同,因此需要考虑三种方案。
- Office 加载项不提供相应的仅限 Windows 加载项中提供的所有功能。 在此方案中,应 将 Office 加载项配置为隐藏 在安装了仅限 Windows 加载项的任何 Windows 计算机上。
- 与相应的仅限 Windows 的加载项相比,Office 加载项提供的功能更多、更好。 在此方案中,应 配置 Office 外接程序,以便它检测到仅 Windows 加载项的存在并隐藏它。
- 所有用户都不会认为这两个加载项比另一个加载项更好。 在此方案中,应配置 Office 外接程序,以便 为 Windows 计算机上的每个用户选择隐藏的加载项。
获取仅限 Windows 的加载项的名称
在配置 Office 外接程序清单之前,必须先使用以下步骤在 Windows 注册表中标识仅限 Windows 的加载项的名称:
- 在安装了仅 Windows 加载项的任何计算机上打开 Windows 注册表编辑器。
- 转到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\<Office application>\Addins 或 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\<Office application>\Addins,其中 <Office 应用程序>为 Excel、Outlook、PowerPoint 或 Word。 例如, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Excel\Addins。
- 复制与所需的仅限 Windows 的加载项关联的注册表项的名称。 请注意,名称区分大小写。
隐藏 Office 加载项
你可以配置 Office 加载项,以便在用户的计算机上安装了等效的仅限 Windows 的加载项时,Windows 上的 Office 将运行仅限 Windows 的加载项,而不是 Office 加载项。 如果仅 Windows 加载项被卸载,Office 将在下次启动主机 Office 应用程序时自动激活 Office 加载项。 如果在 Office 外接程序 之后 安装了仅限 Windows 的加载项,则在重启 Office 应用程序时,Office 加载项将被隐藏。 有关详细信息,请参阅 Office 加载项隐藏时用户的行为。
配置清单
重要
适用于 Excel、Outlook、PowerPoint 和 Word。
若要在 Office 外接程序和仅限 Windows 的外接程序之间启用兼容性,请使用在获取仅限 Windows 加载项的名称部分中获取的名称,在 Office 外接程序 清单 中标识等效 的仅限 Windows 的加载项。 然后,Windows 上的 Office 将使用仅限 Windows 的加载项,而不是 Office 加载项(如果两者都已安装)。 配置取决于正在使用的清单类型。
以下示例演示清单的一部分,该部分将仅限 Windows 的外接程序指定为等效的外接程序。 属性的值 "alternates.prefer.comAddin.progId" 标识仅限 Windows 的加载项。
注意
尽管 属性称为“comAddin”,但它实际上指的是任何仅限 Windows 的加载项,而不管加载项是 COM 还是 VSTO。 同样,术语“progId”通常仅与 COM 加载项相关联,但在清单中,它指的是仅 Windows 加载项的名称。
"extensions" [
...
"alternates" [
{
"prefer": {
"comAddin": {
"progId": "ContosoAddin"
}
}
}
]
]
提示
如果无法在 Outlook Web 外接程序的清单中指定 alternates.prefer 属性,则必须改为配置 组策略。 这仅适用于 Outlook。 有关指导,请参阅为 Outlook 加载项配置组策略设置。
提示
- 有关 XLL UDF 与包含自定义函数的 Excel 加载项兼容性的信息,请参阅 使自定义函数与 XLL 用户定义函数兼容。
- 仅对于 Outlook,计算机的管理员可以使用 组策略指定等效的仅限 Windows 的加载项。 有关指导,请参阅为 Outlook 加载项配置组策略设置。
为 Outlook 加载项配置组策略设置
在计算机上具有管理员权限的用户可以使用在计算机上安装其等效 COM 或 VSTO 加载项的停用 Outlook Web 加载项组策略设置,将仅 Windows 加载项配置为与 Outlook 加载项等效。 即使 Outlook 外接程序的清单没有等效的外接程序标记,也可以实现此目的。 然后,经典 Outlook on Windows 使用仅限 Windows 的加载项,而不是 Outlook 加载项(如果两者都已安装)。 下面是配置策略的步骤。
下载最新的 管理模板工具,并注意该工具的 安装说明。
打开“本地组策略编辑器”(gpedit.msc)。
导航到“用户配置>管理模板>”Microsoft“>Outlook 2016 Miscellaneous”。
选择设置 停用安装了等效 COM 或 VSTO 加载项的 Outlook Web 外接程序。
打开链接以编辑策略设置。
在要 停用的 Outlook Web 加载项对话框中:
- 将 “值名称 ”设置为 Outlook 外接程序清单的 ID。 在仅外接程序清单中,使用 元素的值
<ID>。 在统一清单中,使用清单根id目录中的 属性的值。 不要在条目周围添加大括号{}。 - 将 “值 ”设置为等效的仅限 Windows 的加载项的名称。 请参阅 获取仅限 Windows 的加载项的名称部分。
- 选择 “确定” ,使更新生效。
- 将 “值名称 ”设置为 Outlook 外接程序清单的 ID。 在仅外接程序清单中,使用 元素的值
隐藏 Office 加载项时用户的行为
指定等效的仅限 Windows 的加载项后,如果安装了等效的仅限 Windows 的加载项,则 Windows 上的 Office 将不会显示 Office 外接程序的用户界面 (UI) 。 但 Office 仅隐藏 Office 外接程序的功能区按钮,不会阻止安装。 因此,Office 加载项仍会显示在 UI 中的以下位置。
- 在 “我的加载项”下。
- 作为功能区管理器 (Excel 的条目,Word和 PowerPoint 仅) 。
注意
在清单中指定等效的仅限 Windows 的加载项对其他平台(如 Office web 版 或 Mac)没有任何影响。
以下方案描述了根据用户获取 Office 加载项的方式会发生什么情况。
Microsoft市场收购 Office 加载项
如果用户从Microsoft市场获取 Office 外接程序,并且已安装等效的仅限 Windows 的加载项,则 Office 将:
- 安装 Office 加载项。
- 隐藏功能区上的 Office 外接程序 UI。
- 为指出仅限 Windows 的加载项功能区按钮的用户显示标注。
Office 加载项的集中部署
如果管理员使用集中部署将 Office 加载项部署到其租户,并且已安装等效的仅限 Windows 的加载项,则用户必须先重启 Office,然后才能看到任何更改。 Office 重启后,它将:
- 安装 Office 加载项。
- 隐藏功能区上的 Office 外接程序 UI。
- 为指出仅限 Windows 的加载项功能区按钮的用户显示标注。
与 Office 外接程序嵌入式共享的文档
如果用户安装了仅限 Windows 的加载项,然后获取包含嵌入式 Office 外接程序的共享文档,则当他们打开文档时,Office 将:
- 提示用户信任 Office 加载项。
- 如果受信任,将安装 Office 加载项。
- 隐藏功能区上的 Office 外接程序 UI。
其他仅限 Windows 的加载项行为
Excel、PowerPoint、Word
如果用户卸载等效的仅限 Windows 的加载项,则 Windows 上的 Office 将还原 Office 外接程序 UI。
为 Office 外接程序指定等效的仅限 Windows 的加载项后,Office 将停止处理 Office 外接程序的更新。 若要获取 Office 外接程序的最新更新,用户必须先卸载仅限 Windows 的加载项。
Outlook
在 Outlook 启动时,必须连接仅限 Windows 的加载项,才能禁用相应的 Outlook 加载项。
如果仅 Windows 加载项在后续 Outlook 会话期间断开连接,Outlook 加载项可能会一直处于禁用状态,直到重新启动 Outlook。
隐藏仅限 Windows 的加载项
注意
本部分所述的选项具有以下限制。
- 仅 Excel、PowerPoint 和 Word 支持它。
- 支持此功能的最低 Office 版本是 Windows 版本 2506 (内部版本 19029.20004) 订阅 Office。
配置清单
配置此功能的详细信息取决于 Office 外接程序使用的清单类型。
若要禁用仅限 Windows 的加载项,请执行以下步骤。
- 如果尚不存在,请创建属性
"extensions.alternates.hide.windowsExtensions"。 - 将子
effect属性添加到 属性,windowsExtensions并将其值设置为 disableWithNotification。 - 将子
"comAddin"属性添加到windowsExtensions属性。 - 将子
progIds数组属性添加到comAddin属性。 - 将要隐藏的所有仅限 Windows 的加载项的名称添加到数组中
progIds。 有关如何获取这些名称的信息,请参阅 获取仅限 Windows 的加载项的名称。
注意
由于历史原因,名称 comAddin 中是字符串“com”。 在清单中, 属性引用 COM 或 VSTO 加载项。同样,术语“progIds”通常仅与 COM 加载项相关联,但 VSTO 外接程序的名称也可以包含在数组中 progIds 。
以下示例显示了 JSON 的外观。
"extensions" [
{
...
"alternates": [
{
"hide": {
"windowsExtensions": {
"effect": "disableWithNotification",
"comAddin": {
"progIds": [
"ContosoAddin"
]
}
}
}
}
]
}
]
仅 Windows 加载项隐藏时用户的行为
当仅 Windows 加载项处于隐藏状态时,如果安装了等效的 Office 外接程序,Windows 上的 Office 将不会显示其用户界面 (UI) 。 弹出对话框会通知用户发生这种情况。 但 Office 仅隐藏仅限 Windows 的加载项,不会阻止安装。
为用户提供要使用的加载项的选择
注意
本部分所述的选项具有以下限制。
- 仅 Excel、PowerPoint 和 Word 支持它。
- 支持此功能的最低 Office 版本是 Windows 版本 2506 (内部版本 19029.20004) 订阅 Office。
配置清单
配置此功能的详细信息取决于 Office 外接程序使用的清单类型。
若要让用户选择要隐藏的加载项,请执行以下步骤。
- 如果尚不存在,请创建属性
"extensions.alternates.hide.windowsExtensions"。 - 将子
effect属性添加到 属性,windowsExtensions并将其值设置为 userOptionToDisable。 - 将子
"comAddin"属性添加到windowsExtensions属性。 - 将子
progIds数组属性添加到comAddin属性。 - 将所有等效的仅限 Windows 的加载项的名称添加到数组。
progIds有关如何获取这些名称的信息,请参阅 获取仅限 Windows 的加载项的名称。
注意
由于历史原因,名称 comAddin 中是字符串“com”。 在清单中, 属性引用 COM 或 VSTO 加载项。同样,术语“progIds”通常仅与 COM 加载项相关联,但 VSTO 外接程序的名称也可以包含在数组中 progIds 。
以下示例显示了 JSON 的外观。
"extensions" [
{
...
"alternates": [
{
"hide": {
"windowsExtensions": {
"effect": "userOptionToDisable",
"comAddin": {
"progIds": [
"ContosoAddin"
]
}
}
}
}
]
}
]
当用户可以选择隐藏哪个加载项时的行为
如果将清单配置为为用户提供选择,则用户在安装 Office 外接程序时会看到如下所示的对话框。 对话框中的 “了解详细信息 ”链接指向以下帮助页面,该页面提供信息以帮助用户做出决策: 解决 Office 外接程序的版本冲突。
如果用户选择 “是” ,并且 Office 成功禁用并隐藏仅限 Windows 的加载项,则会打开类似于以下内容的对话框,建议用户重启 Office 应用程序。
如果用户选择 “是” ,但 Office 出于任何原因无法禁用仅限 Windows 的加载项,则会打开类似于以下内容的对话框,建议用户手动禁用仅限 Windows 的加载项。