Поделиться через


Совместимость надстройки Office с существующей надстройкой COM или VSTO

Если у вас есть надстройка COM или надстройка VSTO, вы можете создать практически эквивалентные функции в веб-надстройке Office, что позволит вашему решению работать на других платформах, например в Office в Интернете или на Mac. В этом сценарии две надстройки называются эквивалентными, и вы можете использовать манифест веб-надстройки Office, чтобы управлять тем, какая надстройка доступна пользователям на компьютерах с Windows (или предоставить пользователям выбор).

Примечание.

Так как надстройки COM и VSTO можно установить только в Windows, в этой статье надстройки COM и VSTO в совокупности называются надстройками только для Windows.

Как правило, надстройки должны рассматриваться как эквивалентные только при выполнении следующих условий, но могут существовать исключительные сценарии, в которых надстройки не соответствуют этим условиям, могут рассматриваться как эквивалентные.

  • Они оба создаются тем же разработчиком, как правило, сущностью, указанной в "developer" свойстве унифицированного манифеста или элементе ProviderName в манифесте только надстройки.
  • Они оба предназначены для установки в одном приложении Или приложениях Office и предназначены для одной рабочей нагрузки с перекрывающимися функциональными возможностями.
  • Они имеют идентичные или очень похожие общедоступные имена и пользовательские интерфейсы, включая имена элементов управления и значки.

Важно!

Эквивалентная функция надстройки поддерживается следующими платформами и приложениями. Надстройки COM, VSTO и XLL нельзя установить на любой другой платформе, поэтому на этих платформах разметка манифеста, описанная далее в этой статье, игнорируется.

  • Excel, Word и PowerPoint в Windows (версия 1904 или более поздняя)
  • Классическая версия Outlook в Windows (версия 2102 или более поздняя) с поддерживаемой версией Exchange Server
    • Exchange Online.
    • Exchange Server Subscription Edition (SE)
    • Накопительный пакет обновления 10 для Exchange 2019 или более поздней версии (KB5003612)
    • Накопительный пакет обновления 21 для Exchange 2016 или более поздней версии (KB5003611)

Важно!

Надстройки COM и VSTO не поддерживаются в новом Outlook для Windows. Эти надстройки по-прежнему поддерживаются в классическом классическом клиенте Outlook для Windows. Дополнительные сведения см. в статье Разработка надстроек Outlook для новых приложений Outlook в Windows.

Так как надстройка только для Windows и надстройка Office могут не иметь одинаковых функций, необходимо учитывать три сценария.

Получение имени надстройки только для Windows

Перед настройкой манифеста надстройки Office необходимо сначала указать имя надстройки только для Windows в реестре Windows, выполнив следующие действия:

  1. Откройте редактор реестра Windows на любом компьютере, где установлена надстройка только для Windows.
  2. Перейдите в раздел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.
  3. Скопируйте имя раздела реестра, связанного с необходимой надстройкой только для Windows. Обратите внимание, что в именах учитывается регистр.

Скрытие надстройки Office

Вы можете настроить надстройку Office так, чтобы, если эквивалентная надстройка только для Windows уже установлена на компьютере пользователя, Office в Windows запускает надстройку только для Windows, а не надстройку Office. Если надстройка только для Windows будет удалена, Office автоматически активирует надстройку Office при следующем запуске ведущего приложения Office. Если надстройка только для Windows устанавливается после надстройки Office, то при перезапуске приложения Office надстройка Office будет скрыта. Дополнительные сведения см. в статье Поведение пользователей, когда надстройка Office скрыта.

Настройка манифеста

Важно!

Применимо к Excel, Outlook, PowerPoint и Word.

Чтобы обеспечить совместимость между надстройкой Office и надстройкой только для Windows, определите эквивалентную надстройку только для Windows в манифесте надстройки Office, используя имя, полученное в разделе Получение имени надстройки только для Windows. Затем Office в Windows будет использовать надстройку только для Windows вместо надстройки Office, если они установлены. Конфигурация зависит от типа используемого манифеста.

В следующем примере показана часть манифеста, указывающая надстройку только для Windows в качестве эквивалентной надстройки. Значение "alternates.prefer.comAddin.progId" свойства определяет надстройку только для Windows.

Примечание.

Хотя свойство называется comAddin, оно фактически относится к любой надстройке только для Windows, независимо от того, является ли надстройка COM или VSTO. Аналогичным образом термин progId обычно связан только с надстройками COM, но в манифесте он ссылается на имя надстройки только для Windows.

"extensions" [
  ...
  "alternates" [
    {
      "prefer": {
        "comAddin": {
          "progId": "ContosoAddin"
        }
      }
    }
  ]
]

Совет

Если не удается указать alternates.prefer свойство в манифесте веб-надстройки Outlook, необходимо настроить групповая политика. Это относится только к Outlook. Инструкции см. в разделе Настройка параметра групповая политика для надстроек Outlook.

Совет

Настройка параметра групповая политика для надстроек Outlook

Пользователь с правами администратора на своем компьютере может настроить надстройку только для Windows, чтобы она была эквивалентной надстройке Outlook, используя деактивацию веб-надстроек Outlook, для которых эквивалентная надстройка COM или VSTO установлена групповая политика на компьютере. Этого можно добиться, даже если манифест надстройки Outlook не имеет эквивалентной разметки надстройки. Затем классический Outlook в Windows использует надстройку только для Windows, а не надстройку Outlook, если они установлены. Ниже приведены действия по настройке политики.

  1. Скачайте последнюю версию средства административных шаблонов, обращая внимание на инструкции по установке средства.

  2. Откройте редактор локальных групповых политик (gpedit.msc).

  3. Перейдите в раздел Конфигурация>пользователей Административные шаблоны>Microsoft Outlook 2016>Miscellaneous.

  4. Выберите параметр Деактивировать веб-надстройки Outlook, для которых установлена эквивалентная надстройка COM или VSTO.

  5. Откройте ссылку, чтобы изменить параметр политики.

  6. В диалоговом окне веб-надстройки Outlook для деактивации:

    1. Задайте имя значения в качестве идентификатора манифеста надстройки Outlook. В манифесте только надстройки используйте значение <ID> элемента . В унифицированном манифесте используйте значение id свойства в корне манифеста. Не добавляйте фигурные скобки {} вокруг записи.
    2. Задайте для параметра Value имя эквивалентной надстройки только для Windows. См. раздел Получение имени надстройки только для Windows.
    3. Нажмите кнопку ОК , чтобы ввести обновление в действие.

    Диалоговое окно

Поведение пользователей, когда надстройка Office скрыта

Если указана эквивалентная надстройка только для Windows, office в Windows не будет отображать пользовательский интерфейс надстройки Office, если установлена эквивалентная надстройка только для Windows. Но Office скрывает только кнопки ленты надстройки Office и не препятствует установке. Таким образом, надстройка Office по-прежнему будет отображаться в следующих расположениях в пользовательском интерфейсе.

  • В разделе Мои надстройки.
  • В качестве записи в диспетчере ленты (только для Excel, Word и PowerPoint).

Примечание.

Указание эквивалентной надстройки только для Windows в манифесте не влияет на другие платформы, такие как Office в Интернете или Mac.

В следующих сценариях описывается, что происходит в зависимости от того, как пользователь получает надстройку Office.

Приобретение надстройки Office в Microsoft Marketplace

Если пользователь получает надстройку Office из Microsoft Marketplace и эквивалентная надстройка только для Windows уже установлена, Office:

  1. Установите надстройку Office.
  2. Скрыть пользовательский интерфейс надстройки Office на ленте.
  3. Отображение вызова для пользователя, указывающего кнопку ленты только для Windows.

Централизованное развертывание надстройки Office

Если администратор развертывает надстройку Office в своем клиенте с помощью централизованного развертывания и эквивалентная надстройка только для Windows уже установлена, пользователь должен перезапустить Office, прежде чем он увидит какие-либо изменения. После перезапуска Office:

  1. Установите надстройку Office.
  2. Скрыть пользовательский интерфейс надстройки Office на ленте.
  3. Отображение вызова для пользователя, указывающего кнопку ленты только для Windows.

Общий доступ к документу с помощью встроенной надстройки Office

Если у пользователя установлена надстройка только для Windows, а затем он получает общий документ со встроенной надстройкой Office, то при открытии документа Office:

  1. Предложите пользователю доверять надстройке Office.
  2. Если вы доверяете, надстройка Office будет установлена.
  3. Скрыть пользовательский интерфейс надстройки Office на ленте.

Другое поведение надстройки только для Windows

Excel, PowerPoint, Word

Если пользователь удаляет эквивалентную надстройку только для Windows, office в Windows восстанавливает пользовательский интерфейс надстройки Office.

После того как вы укажете эквивалентную надстройку только для Windows для надстройки Office, Office прекратит обработку обновлений для надстройки Office. Чтобы получить последние обновления для надстройки Office, пользователь должен сначала удалить надстройку только для Windows.

Outlook

Надстройка только для Windows должна быть подключена при запуске Outlook, чтобы отключить соответствующую надстройку Outlook.

Если надстройка только для Windows будет отключена во время последующего сеанса Outlook, надстройка Outlook, скорее всего, останется отключенной до перезапуска Outlook.

Скрытие надстройки только для Windows

Примечание.

Параметр, описанный в этом разделе, имеет следующие ограничения.

  • Он поддерживается только для Excel, PowerPoint и Word.
  • Минимальная версия Office, поддерживающая эту функцию, — office для Windows версии 2506 по подписке (сборка 19029.20004).

Настройка манифеста

Сведения о настройке этой функции зависят от типа манифеста, используемого надстройкой Office.

Чтобы отключить надстройку только для Windows, выполните следующие действия.

  1. Если он еще не существует, создайте "extensions.alternates.hide.windowsExtensions" свойство .
  2. Добавьте дочернее effect свойство в windowsExtensions свойство и задайте для его значения значение disableWithNotification.
  3. Добавьте дочернее "comAddin" свойство в windowsExtensions свойство .
  4. Добавьте свойство дочернего progIds массива в comAddin свойство .
  5. Добавьте в массив имена всех надстроек только для Windows, которые нужно скрыть progIds . Сведения о том, как получить эти имена, см. в разделе Получение имени надстройки только для Windows.

Примечание.

Строка "com" находится в имени comAddin по историческим причинам. В манифесте свойство ссылается на надстройки COM или VSTO. Аналогичным образом термин progIds обычно связан только с надстройками COM, но имена надстроек VSTO также могут быть включены в progIds массив.

В следующем примере показано, как должен выглядеть JSON.

"extensions" [
  {   
    ...
    "alternates": [
      {
        "hide": {
          "windowsExtensions": {
            "effect": "disableWithNotification",
            "comAddin": {
              "progIds": [
                "ContosoAddin"
              ]
            }
          }
        }
      }
    ]
  }
]

Поведение пользователей, когда надстройка только для Windows скрыта

Если надстройка только для Windows скрыта, Office в Windows не будет отображать свой пользовательский интерфейс, если установлена эквивалентная надстройка Office. Всплывающее диалоговое окно уведомляет пользователя о том, что это происходит. Но Office скрывает только надстройку только для Windows и не препятствует установке.

Предоставьте пользователю выбор того, какую надстройку использовать

Примечание.

Параметр, описанный в этом разделе, имеет следующие ограничения.

  • Он поддерживается только для Excel, PowerPoint и Word.
  • Минимальная версия Office, поддерживающая эту функцию, — office для Windows версии 2506 по подписке (сборка 19029.20004).

Настройка манифеста

Сведения о настройке этой функции зависят от типа манифеста, используемого надстройкой Office.

Чтобы предоставить пользователю выбор того, какую надстройку следует скрыть, выполните следующие действия.

  1. Если он еще не существует, создайте "extensions.alternates.hide.windowsExtensions" свойство .
  2. Добавьте дочернее effect свойство в windowsExtensions свойство и присвойте ей значение userOptionToDisable.
  3. Добавьте дочернее "comAddin" свойство в windowsExtensions свойство .
  4. Добавьте свойство дочернего progIds массива в comAddin свойство .
  5. Добавьте имена всех эквивалентных надстроек только для Windows в progIds массив. Сведения о том, как получить эти имена, см. в разделе Получение имени надстройки только для Windows.

Примечание.

Строка "com" находится в имени comAddin по историческим причинам. В манифесте свойство ссылается на надстройки COM или VSTO. Аналогичным образом термин progIds обычно связан только с надстройками COM, но имена надстроек VSTO также могут быть включены в progIds массив.

В следующем примере показано, как должен выглядеть JSON.

"extensions" [
  {   
    ...
    "alternates": [
      {
        "hide": {
          "windowsExtensions": {
            "effect": "userOptionToDisable",
            "comAddin": {
              "progIds": [
                "ContosoAddin"
              ]
            }
          }
        }
      }
    ]
  }
]

Поведение пользователей при выборе скрытой надстройки

Если вы настроите манифест, чтобы предоставить пользователю выбор, при установке надстройки Office пользователь увидит диалоговое окно, аналогичное приведенному ниже. Ссылка Дополнительные сведения в диалоговом окне указывает на следующую страницу справки, которая содержит сведения, помогающие пользователю принять решение: Устранение конфликтов версий для надстроек Office.

Диалоговое окно

Если пользователь выбирает да , а Office успешно отключает и скрывает надстройку только для Windows, откроется диалоговое окно, аналогичное приведенному ниже, в результате чего пользователю будет показано, как перезапустить приложение Office.

Диалоговое окно

Если пользователь выбирает Да , но Office по какой-либо причине не может отключить надстройку только для Windows, откроется диалоговое окно, аналогичное приведенному ниже, в результате чего пользователю рекомендуется вручную отключить надстройку только для Windows.

Диалоговое окно с названием

См. также