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


Удаление надстроек в разработке

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

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

Важно!

При входе в Outlook он скачивает из Exchange и загружает неопубликованные манифесты надстроек Outlook, связанные с вашим идентификатором, включая надстройки, разрабатываемые на другом компьютере с тем же идентификатором. Например, для надстройки будут отображаться все пользовательские кнопки ленты, определенные в манифесте.

Если URL-адреса в манифесте указывают на сервер, отличный от localhost, и этот сервер работает и доступен для компьютера, не являющегося разработчиком, Outlook кэширует файлы надстройки в локальной файловой системе, и надстройка обычно работает на компьютере. В противном случае надстройка не работает, но отображаются видимые ее части, такие как настраиваемые кнопки ленты. Они имеют метки, определенные в манифесте. Значки кнопок надстройки также отображаются, если они когда-либо кэшировались локально на компьютере, не являющемся разработчиком, и кэш никогда не очищался. Файлы значков не хранятся в Exchange, поэтому если они никогда не кэшировались на компьютере, отличном от разработки (или кэш был очищен), то кнопки имеют значки по умолчанию.

Пока регистрация надстройки не будет удалена из Exchange, надстройка будет по-прежнему отображаться. Сведения об удалении регистрации в Exchange см. в статье Удаление фантомной надстройки .

В этой статье содержатся некоторые рекомендации по минимизации вероятности возникновения этих проблем и их устранению в случае их возникновения.

Предотвращение проблем

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

  • Веб-сервер, обычно на localhost, запускается для обслуживания файлов надстройки (например, html, CSS и JavaScript).
  • Эти же файлы кэшируются на компьютере разработки.
  • Надстройка зарегистрирована на компьютере разработки. Регистрация выполняется с помощью записей реестра на компьютере с Windows или с определенными файлами, сохраненными в файловой системе Mac.
  • Большинство средств для загрузки неопубликованных надстроек автоматически открывают приложение Office, на которое нацелена надстройка. Средства также заполняют приложение любыми настраиваемыми кнопками ленты или элементами контекстного меню, определенными в манифесте надстройки.
  • Для надстройки Outlook манифест надстройки регистрируется в службе Exchange.

Использование средства удаления

Чтобы предотвратить фантомные надстройки, завершите каждый сеанс тестирования, отладки и загрузки неопубликованных приложений с помощью параметра удаления (также называемого unacquire), который предоставляется средством, которое использовалось для запуска сеанса. Это отменяет последствия загрузки неопубликованных приложений, как упоминалось ранее в этой статье.

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

Примечание.

Некоторые из этих средств не закрывают приложение Office, которое открывается автоматически. В этом случае закройте приложение вручную сразу после завершения сеанса.

Удаление фантомной надстройки

Чтобы удалить фантомную надстройку, необходимо удалить артефакты, созданные при последней загрузке неопубликованных приложений, удалить ее локальную регистрацию, а для надстроек Outlook удалить ее регистрацию в Exchange.

Процесс удаления надстройки зависит от того, является ли надстройка для Outlook или другого приложения Office.

Примечание.

В едином манифесте Microsoft 365 надстройку можно настроить для поддержки Outlook и одного или нескольких других приложений Office. то есть в манифесте есть несколько элементов массива extensions.requirements.scopes, а один из них — mail (или свойство extensions.requirements.scopes отсутствует). Рассматривайте надстройку, настроенную таким образом, как надстройку Outlook.

Если фантомная надстройка не является надстройкой Outlook, перейдите к разделу Удаление артефактов надстройки.

Удаление регистрации в Exchange надстройки Outlook

  1. Войдите в Outlook с тем же идентификатором, который вы использовали при загрузке неопубликованного надстройки.

  2. Откройте PowerShell от имени администратора.

  3. Выполните следующие команды: Ответ "Да" на все запросы на подтверждение.

    Install-Module -Name ExchangeOnlineManagement -RequiredVersion 3.4.0
    Set-ExecutionPolicy RemoteSigned
    Connect-ExchangeOnline
    

    Примечание.

    Connect-ExchangeOnline Если команда возвращает ошибку "Элемент ActiveX "8856f961-340a-11d0-a96b-00c04fd705a2" не может быть создан, так как текущий поток не находится в однопотоковой квартире", просто выполните команду во второй раз. Это хорошо известная ошибка.

  4. Выполните следующую команду. Ответ "Да" на все запросы на подтверждение.

    Get-App | Format-Table -Auto DisplayName,AppId
    

    Отобразится список надстроек, установленных в Outlook. К ним относятся встроенные надстройки Майкрософт и установленные надстройки. Также будут перечислены все фантомные надстройки Outlook.

  5. Найдите фантомную надстройку в списке. Если он был создан с помощью Yo Office или другого средства Майкрософт, вероятно, он имеет имя "Надстройка области задач Contoso".

  6. Скопируйте идентификатор приложения (GUID) надстройки. Он понадобится для последующих шагов.

  7. Выполните команду Remove-App -Identity {{The GUID OF YOUR ADD-IN HERE}} (например, Remove-App -Identity 26ead0cb-10dd-4ba2-86c6-4db111876652). Эта команда удаляет надстройку из Exchange.

    Предупреждение

    Удаление регистрации должно распространяться на все серверы Exchange. Подождите по крайней мере три часа, прежде чем перейти к следующему шагу.

  8. Перейдите к разделу Удаление артефактов надстройки.

Удаление артефактов надстройки

Важно!

Выполните эту процедуру на всех устройствах, на которых неопубликочена надстройка.

  1. Выйдите из всех приложений Office, а затем закройте их все, включая Outlook.
  2. Очистите кэш Office. Если надстройка-призрак поддерживает Outlook, используйте команду Очистить кэш в Outlook вручную.
  3. Перейдите к разделу Удаление локальной регистрации.

Удаление локальной регистрации

Важно!

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

  1. Удалите локальную регистрацию фантомной надстройки. Процесс зависит от операционной системы.

    1. Откройте Редактор реестра.

    2. Перейдите к Computer\HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\WEF\Developer. В этом разделе перечислены надстройки, которые в настоящее время загружены неопубликованным или были загружены неопубликованным в прошлом и не были полностью удалены. Значение Data для каждой записи — это путь к манифесту надстройки. Значение Name зависит от того, какая версия средства использовалась для создания и загрузки неопубликованного надстройки. Если использовалась Среда Visual Studio, имя обычно также является путем к манифесту. Для других средств обычно используется идентификатор надстройки. При запуске приложения Office оно перезагружает все надстройки, перечисленные в этом разделе (которые поддерживают приложение Office). Перезагрузка может не иметь практического или заметного эффекта, если артефакты надстройки были удалены из кэша или манифест больше не существует по пути или файлы надстройки не обслуживаются сервером.

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

      Реестр Windows для раздела с именем Computer\HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\WEF\Developer.

    3. Разверните ... Узел разработчика в дереве реестра. Найдите подраздел, имя которого совпадает с идентификатором надстройки-призрака. Если он есть, удалите его.

      Реестр Windows для раздела с именем Computer\HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\WEF\Developer развернут для отображения подразделов.

    4. Перейдите к Computer\HKEY_USERS\{SID}\Software\Microsoft\Office\16.0\WEF\Developer, где {SID} — это идентификатор безопасности пользователя, с которым вы выполнили вход при загрузке надстройки, и повторите два предыдущих шага.

    5. Перейдите к Computer\HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Common\CustomUIValidationCache. В столбце Имя найдите все записи, начинающиеся с идентификатора надстройки (GUID), и удалите их. Затем перейдите к Computer\HKEY_USERS\{SID}\Software\Microsoft\Office\16.0\Common\CustomUIValidationCache, где {SID} — это идентификатор безопасности пользователя, с которым вы выполнили вход при загрузке надстройки, и повторите процесс.

      Реестр Windows для раздела с именем Computer\HKEY_USERS\SID\Software\Microsoft\Office\16.0\Common\CustomUIValidationCache**, где SID — это идентификатор безопасности пользователя.


  1. Если вы удаляете надстройку Outlook, перейдите к разделу Проверка удаления надстроек Outlook.

Проверка удаления надстроек Outlook

Откройте Outlook с тем же удостоверением, которое вы использовали при создании надстройки. Если артефакты из надстройки (например, пользовательские кнопки ленты) появляются через несколько минут или обработчики событий из надстройки кажутся активными, удаление регистрации надстройки из Exchange не распространяется на все серверы Exchange. Подождите не менее трех часов и повторите процедуры в разделах Удаление артефактов надстройки и Удаление локальной регистрации на компьютере, где вы наблюдали артефакты.

Дополнительные материалы