Почему этот пользовательский пользовательский интерфейс Backstage для Word не отображает его пользовательский интерфейс?

У меня есть Office addin, который использует следующий за кулисами XML для добавления пользовательских элементов интерфейса в Microsoft Word за кулисами:

<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">
  <backstage onShow="Backstage_OnShow">
    <tab idMso="TabSave">
      <firstColumn>
        <taskFormGroup idMso="SaveGroup">
          <category idMso="Save">
            <task id="myCustomTask" label="My Custom Task" insertAfterMso="ButtonTaskDynamicServiceProvider">
              <group id="myGroupInTabSave" label="Custom functionality" helperText="This group contains custom functionality.">
                <primaryItem>
                  <button id="myButton" label="My Button" onAction="CallMe" />
                </primaryItem>
              </group>
            </task>
          </category>
        </taskFormGroup>
      </firstColumn>
    </tab>
  </backstage>
</customUI>

Это точный базовый сценарий, описанный здесь, чтобы изменить диалог "Сохранить как".

На моей машине ничего не отображается в Save As. Тем не менее, я вижу, что следующая функция вызывается, когда показана кулинария:

public void Backstage_OnShow(object contextObject) {
    // It hits this method.
}

Каковы некоторые причины, по которым пользовательский интерфейс не будет отображаться, а также, как я могу отладить, что здесь происходит? Я попытался включить Show add-in user interface errors на вкладке "Дополнительно" в разделе "Параметры Word" в разделе "Общие", но, насколько я могу судить, для меня нет никаких ошибок.

Не уверен, что это помогает, но наша лента наследует IRibbonExtensibility.

Мы также обнаружили, что эта логика иногда работает на некоторых машинах, но не на других. Я не знаю, почему... одна вещь, которую я могу вам сказать, совершенно определенно в том, что типы для этого addin регистрируются с помощью regasm, а не с добавлением админа, использующего раздел реестра path|vstolocal в реестре Outlook. Другими словами, мы используем regasm для установки addin.

Изменить. Я пробовал предлагаемый ответ, но он все еще не работает при таком подходе. Моя команда и я довольно убеждены в этом, что это основная ошибка VSTO, и мы подготовили проект, чтобы продемонстрировать его. Этот проект демонстрирует ошибки за кулисами: Windows 10 Pro 64-разрядная версия 1607 (OS build 14393.351) и 32-разрядная версия Word 2016 16.0.7426.1009 (32-разрядная версия Office 2016, сборка 7466.2023): https://github.com/Murdoctor/WordAddin1

Если вы запустите этот пример в той же или подобной среде, вы увидите, что если вы нажмете вкладку "Главная" в верхней части Word, вы увидите кнопку, которая определена в https://github.com/Murdoctor/WordAddin1/blob/master/WordAddIn1/Ribbon1.xml, но если вы откроете кулисы, вы не увидите вкладку с образцом, которая должна быть вставлена ​​после вкладки info, TabInfo (этот снимок экрана был сделан с выпуском build run в режиме отладки непосредственно из Visual Studio, и я вижу, что добавление зарегистрировано и все также):

введите описание изображения здесь

Единственное, что вы увидите, это (это также доказательство того, что addin запущен и зарегистрирован в его локальном файле VSTO):

введите описание изображения здесь

Изменить. Это также влияет на Office 64-bit. Я просто установил Word 2016 16.0.7426.1009 (Office 2016 64-разрядная версия 1610, сборка 7466.2023), думая, что изменение на x64 может помочь, но я все еще испытываю такую ​​же проблему на своей машине.

Изменить. Это также влияет на сегодняшний выпуск Windows 10 Pro x64 версии 1607, сборка 14393.447. Кроме того, я попытался отключить все другие дополнения, все еще одно и то же.

Ответ 1

Это ошибка с Office. Я могу подтвердить в своей среде, это снова сработало после обновления Word вручную с помощью 8 ноября обновление, которое вышло вчера. Это обновление не появилось, когда я пытался искать обновления в Windows 10, вместо этого мне пришлось установить его следующим образом:

  • Внутри Word нажмите "Файл", чтобы открыть кулисы.

  • Нажмите раскрывающийся список "Параметры обновления".

  • Выберите "Обновить сейчас".

После обновления до версии 1610 Office, сборка 7466.2038 эта ошибка исчезает:

введите описание изображения здесь