Надстройка Outlook не отображается в 2016 г.

Я создаю надстройку Outlook, которая отлично работает в Outlook 2013. Однако в Outlook 2016 ничего не появляется. Элементы ленты полностью исчезли. В 2013 году появляются три кнопки ленты, которых нет в 2016 году.

Любые идеи, что может быть не так в файле манифеста.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<OfficeApp
    xmlns="http://schemas.microsoft.com/office/appforoffice/1.1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0"
    xmlns:mailappor="http://schemas.microsoft.com/office/mailappversionoverrides"
    xsi:type="MailApp">
  <Id>3a2be270-ea2f-407c-97f1-138f67352cb4</Id>
  <Version>1.1.9</Version>
  <ProviderName>--REMOVED--</ProviderName>
  <DefaultLocale>en-US</DefaultLocale>
  <DisplayName DefaultValue="--REMOVED-- for PS"/>
  <Description DefaultValue="[Outlook Add-in description]"/>
  <IconUrl DefaultValue="https://localhost/--REMOVED--PS/outlook/images/icon-32.png"/>
  <HighResolutionIconUrl DefaultValue="https://localhost/--REMOVED--PS/outlook/images/icon-80.png"/>
  <SupportUrl DefaultValue="https://help.--REMOVED--.com/Product/--REMOVED--PS/"/>
  <Hosts>
    <Host Name="Mailbox"/>
  </Hosts>
  <Requirements>
    <Sets>
      <Set Name="MailBox" MinVersion="1.1"/>
    </Sets>
  </Requirements>
  <FormSettings>
    <Form xsi:type="ItemRead">
      <DesktopSettings>
        <SourceLocation DefaultValue="https://localhost/--REMOVED--PS/outlook/appread/home/home.html"/>
        <RequestedHeight>250</RequestedHeight>
      </DesktopSettings>
    </Form>
  </FormSettings>
  <Permissions>ReadItem</Permissions>
  <Rule xsi:type="RuleCollection" Mode="Or">
    <Rule xsi:type="ItemIs" ItemType="Message" FormType="Read"/>
  </Rule>
  <DisableEntityHighlighting>false</DisableEntityHighlighting>
  <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">
    <Hosts>
      <Host xsi:type="MailHost">
        <DesktopFormFactor>
          <FunctionFile resid="funcFile"/>

          <ExtensionPoint xsi:type="MessageReadCommandSurface">
            <OfficeTab id="TabDefault">
              <Group id="msgReadCmdGroup">
                <Label resid="groupLabel"/>
                <Control xsi:type="Button" id="msgReadPaneButton">
                  <Label resid="msgReadPaneButtonLabel"/>
                  <Supertip>
                    <Title resid="msgReadPaneButtonTitle"/>
                    <Description resid="msgReadPaneButtonDesc"/>
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="--REMOVED---16"/>
                    <bt:Image size="32" resid="--REMOVED---32"/>
                    <bt:Image size="80" resid="--REMOVED---80"/>
                  </Icon>
                  <Action xsi:type="ShowTaskpane">
                    <SourceLocation resid="readPaneUrl"/>
                  </Action>
                </Control>
                <Control xsi:type="Menu" id="msgCreateMenu">
                  <Label resid="menuCreateLabel"/>
                  <Supertip>
                    <Title resid="menuCreateTitle"/>
                    <Description resid="menuCreateDescription"/>
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="new-16"/>
                    <bt:Image size="32" resid="new-32"/>
                    <bt:Image size="80" resid="new-80"/>
                  </Icon>
                  <Items>
                    <Item id="msgCreateContact">
                      <Label resid="createContactLabel"/>
                      <Supertip>
                        <Title resid="createContactTitle"/>
                        <Description resid="createContactDesc"/>
                      </Supertip>
                      <Icon>
                        <bt:Image size="16" resid="contact-16"/>
                        <bt:Image size="32" resid="contact-32"/>
                        <bt:Image size="80" resid="contact-80"/>
                      </Icon>
                      <Action xsi:type="ExecuteFunction">
                        <FunctionName>createContact</FunctionName>
                      </Action>
                    </Item>
                    <Item id="msgCreateFirm">
                      <Label resid="createFirmLabel"/>
                      <Supertip>
                        <Title resid="createFirmTitle"/>
                        <Description resid="createFirmDesc"/>
                      </Supertip>
                      <Icon>
                        <bt:Image size="16" resid="firm-16"/>
                        <bt:Image size="32" resid="firm-32"/>
                        <bt:Image size="80" resid="firm-80"/>
                      </Icon>
                      <Action xsi:type="ExecuteFunction">
                        <FunctionName>createFirm</FunctionName>
                      </Action>
                    </Item>
                    <Item id="msgCreateOpportunity">
                      <Label resid="createOpportunityLabel"/>
                      <Supertip>
                        <Title resid="createOpportunityTitle"/>
                        <Description resid="createOpportunityDesc"/>
                      </Supertip>
                      <Icon>
                        <bt:Image size="16" resid="opportunity-16"/>
                        <bt:Image size="32" resid="opportunity-32"/>
                        <bt:Image size="80" resid="opportunity-80"/>
                      </Icon>
                      <Action xsi:type="ExecuteFunction">
                        <FunctionName>createOpportunity</FunctionName>
                      </Action>
                    </Item>
                    <Item id="msgCreateActivity">
                      <Label resid="createActivityLabel"/>
                      <Supertip>
                        <Title resid="createActivityTitle"/>
                        <Description resid="createActivityDesc"/>
                      </Supertip>
                      <Icon>
                        <bt:Image size="16" resid="activity-16"/>
                        <bt:Image size="32" resid="activity-32"/>
                        <bt:Image size="80" resid="activity-80"/>
                      </Icon>
                      <Action xsi:type="ExecuteFunction">
                        <FunctionName>createActivity</FunctionName>
                      </Action>
                    </Item>
                  </Items>
                </Control>
                <Control xsi:type="Menu" id="msgSetttingHelpMenu">
                  <Label resid="menuSettingsHelpLabel"/>
                  <Supertip>
                    <Title resid="menuSettingsHelpTitle"/>
                    <Description resid="menuSettingsHelpDescription"/>
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="settings-16"/>
                    <bt:Image size="32" resid="settings-32"/>
                    <bt:Image size="80" resid="settings-80"/>
                  </Icon>
                  <Items>
                    <Item id="msgCheckAccountInformation">
                      <Label resid="checkAccountInformationLabel"/>
                      <Supertip>
                        <Title resid="checkAccountInformationTitle"/>
                        <Description resid="checkAccountInformationDesc"/>
                      </Supertip>
                      <Action xsi:type="ShowTaskpane">
                        <SourceLocation resid="settingsPaneUrl"/>
                      </Action>
                    </Item>
                    <Item id="msgCheckHelp">
                      <Label resid="checkHelpLabel"/>
                      <Supertip>
                        <Title resid="checkHelpTitle"/>
                        <Description resid="checkHelpDesc"/>
                      </Supertip>
                      <Action xsi:type="ExecuteFunction">
                        <FunctionName>checkHelp</FunctionName>
                      </Action>
                    </Item>
                  </Items>
                </Control>
              </Group>
            </OfficeTab>
          </ExtensionPoint>

        </DesktopFormFactor>
      </Host>
    </Hosts>
    <Resources>
      <bt:Images>
        <bt:Image id="--REMOVED---16" DefaultValue="https://localhost/--REMOVED--PS/outlook/images/--REMOVED---16.png"/>
        <bt:Image id="--REMOVED---32" DefaultValue="https://localhost/--REMOVED--PS/outlook/images/--REMOVED---32.png"/>
        <bt:Image id="--REMOVED---80" DefaultValue="https://localhost/--REMOVED--PS/outlook/images/--REMOVED---80.png"/>
        <bt:Image id="new-16" DefaultValue="https://localhost/--REMOVED--PS/outlook/images/new-16.png"/>
        <bt:Image id="new-32" DefaultValue="https://localhost/--REMOVED--PS/outlook/images/new-32.png"/>
        <bt:Image id="new-80" DefaultValue="https://localhost/--REMOVED--PS/outlook/images/new-80.png"/>
        <bt:Image id="settings-16" DefaultValue="https://localhost/--REMOVED--PS/outlook/images/settings-16.png"/>
        <bt:Image id="settings-32" DefaultValue="https://localhost/--REMOVED--PS/outlook/images/settings-32.png"/>
        <bt:Image id="settings-80" DefaultValue="https://localhost/--REMOVED--PS/outlook/images/settings-80.png"/>
        <bt:Image id="activity-16" DefaultValue="https://localhost/--REMOVED--PS/outlook/images/activity-16.png"/>
        <bt:Image id="activity-32" DefaultValue="https://localhost/--REMOVED--PS/outlook/images/activity-32.png"/>
        <bt:Image id="activity-80" DefaultValue="https://localhost/--REMOVED--PS/outlook/images/activity-80.png"/>
        <bt:Image id="contact-16" DefaultValue="https://localhost/--REMOVED--PS/outlook/images/contact-16.png"/>
        <bt:Image id="contact-32" DefaultValue="https://localhost/--REMOVED--PS/outlook/images/contact-32.png"/>
        <bt:Image id="contact-80" DefaultValue="https://localhost/--REMOVED--PS/outlook/images/contact-80.png"/>
        <bt:Image id="firm-16" DefaultValue="https://localhost/--REMOVED--PS/outlook/images/firms-16.png"/>
        <bt:Image id="firm-32" DefaultValue="https://localhost/--REMOVED--PS/outlook/images/firms-32.png"/>
        <bt:Image id="firm-80" DefaultValue="https://localhost/--REMOVED--PS/outlook/images/firms-80.png"/>
        <bt:Image id="opportunity-16" DefaultValue="https://localhost/--REMOVED--PS/outlook/images/opportunity-16.png"/>
        <bt:Image id="opportunity-32" DefaultValue="https://localhost/--REMOVED--PS/outlook/images/opportunity-32.png"/>
        <bt:Image id="opportunity-80" DefaultValue="https://localhost/--REMOVED--PS/outlook/images/opportunity-80.png"/>
      </bt:Images>
      <bt:Urls>
        <bt:Url id="funcFile" DefaultValue="https://localhost/--REMOVED--PS/outlook/appread/home/Functions.html"/>
        <bt:Url id="readPaneUrl" DefaultValue="https://localhost/--REMOVED--PS/outlook/appread/home/home.html"/>
        <bt:Url id="settingsPaneUrl" DefaultValue="https://localhost/--REMOVED--PS/outlook/appread/home/home.html?pane=Settings"/>
      </bt:Urls>
      <bt:ShortStrings>
        <bt:String id="groupLabel" DefaultValue="--REMOVED--"/>
        <bt:String id="msgReadPaneButtonLabel" DefaultValue="Open --REMOVED--"/>
        <bt:String id="menuCreateLabel" DefaultValue="Create New"/>
        <bt:String id="menuSettingsHelpLabel" DefaultValue="Settings and Help"/>
        <bt:String id="createContactLabel" DefaultValue="Contact"/>
        <bt:String id="createFirmLabel" DefaultValue="Firm"/>
        <bt:String id="createOpportunityLabel" DefaultValue="Opportunity"/>
        <bt:String id="createActivityLabel" DefaultValue="Activity"/>
        <bt:String id="checkAccountInformationLabel" DefaultValue="Account Information"/>
        <bt:String id="checkHelpLabel" DefaultValue="Help"/>
        <bt:String id="msgReadPaneButtonTitle" DefaultValue="--REMOVED--"/>
        <bt:String id="menuCreateTitle" DefaultValue="Create New"/>
        <bt:String id="createOpportunityTitle" DefaultValue="Create New Opportunity"/>
        <bt:String id="checkHelpTitle" DefaultValue="Help"/>
        <bt:String id="checkAccountInformationTitle" DefaultValue="Account Information"/>
        <bt:String id="createActivityTitle" DefaultValue="Create New Activity"/>
        <bt:String id="createFirmTitle" DefaultValue="Create New Firm"/>
        <bt:String id="menuSettingsHelpTitle" DefaultValue="Settings and Help"/>
        <bt:String id="createContactTitle" DefaultValue="Create New Contact"/>
      </bt:ShortStrings>
      <bt:LongStrings>
        <bt:String id="msgReadPaneButtonDesc" DefaultValue="Opens a task pane showing information about the contacts"/>
        <bt:String id="checkAccountInformationDesc" DefaultValue="Update your account information for --REMOVED-- for Professional Services"/>
        <bt:String id="createContactDesc" DefaultValue="Open --REMOVED-- for Professional Services to create a new Contact"/>
        <bt:String id="createFirmDesc" DefaultValue="Open --REMOVED-- for Professional Services to create a new Firm"/>
        <bt:String id="createOpportunityDesc" DefaultValue="Open --REMOVED-- for Professional Services to create a new Opportunity"/>
        <bt:String id="createActivityDesc" DefaultValue="Open --REMOVED-- for Professional Services to create a new Activity"/>
        <bt:String id="checkHelpDesc" DefaultValue="Open --REMOVED-- for Professional Services to check the help interface"/>
        <bt:String id="menuCreateDescription" DefaultValue="Create a new Contact, Firm, Opportunity or Activity in --REMOVED-- for Professional Services."/>
        <bt:String id="menuSettingsHelpDescription" DefaultValue="Update your account information or access help."/>
      </bt:LongStrings>
    </Resources>
    <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">
      <Hosts>
        <Host xsi:type="MailHost">
          <DesktopFormFactor>
            <FunctionFile resid="funcFile"/>

            <ExtensionPoint xsi:type="MessageReadCommandSurface">
              <OfficeTab id="TabDefault">
                <Group id="msgReadCmdGroup">
                  <Label resid="groupLabel"/>
                  <Control xsi:type="Button" id="msgReadPaneButton">
                    <Label resid="msgReadPaneButtonLabel"/>
                    <Supertip>
                      <Title resid="msgReadPaneButtonTitle"/>
                      <Description resid="msgReadPaneButtonDesc"/>
                    </Supertip>
                    <Icon>
                      <bt:Image size="16" resid="--REMOVED---16"/>
                      <bt:Image size="32" resid="--REMOVED---32"/>
                      <bt:Image size="80" resid="--REMOVED---80"/>
                    </Icon>
                    <Action xsi:type="ShowTaskpane">
                      <SourceLocation resid="readPaneUrl"/>
                      <SupportsPinning>true</SupportsPinning>
                    </Action>
                  </Control>
                  <Control xsi:type="Menu" id="msgCreateMenu">
                    <Label resid="menuCreateLabel"/>
                    <Supertip>
                      <Title resid="menuCreateTitle"/>
                      <Description resid="menuCreateDescription"/>
                    </Supertip>
                    <Icon>
                      <bt:Image size="16" resid="new-16"/>
                      <bt:Image size="32" resid="new-32"/>
                      <bt:Image size="80" resid="new-80"/>
                    </Icon>
                    <Items>
                      <Item id="msgCreateContact">
                        <Label resid="createContactLabel"/>
                        <Supertip>
                          <Title resid="createContactTitle"/>
                          <Description resid="createContactDesc"/>
                        </Supertip>
                        <Icon>
                          <bt:Image size="16" resid="contact-16"/>
                          <bt:Image size="32" resid="contact-32"/>
                          <bt:Image size="80" resid="contact-80"/>
                        </Icon>
                        <Action xsi:type="ExecuteFunction">
                          <FunctionName>createContact</FunctionName>
                        </Action>
                      </Item>
                      <Item id="msgCreateFirm">
                        <Label resid="createFirmLabel"/>
                        <Supertip>
                          <Title resid="createFirmTitle"/>
                          <Description resid="createFirmDesc"/>
                        </Supertip>
                        <Icon>
                          <bt:Image size="16" resid="firm-16"/>
                          <bt:Image size="32" resid="firm-32"/>
                          <bt:Image size="80" resid="firm-80"/>
                        </Icon>
                        <Action xsi:type="ExecuteFunction">
                          <FunctionName>createFirm</FunctionName>
                        </Action>
                      </Item>
                      <Item id="msgCreateOpportunity">
                        <Label resid="createOpportunityLabel"/>
                        <Supertip>
                          <Title resid="createOpportunityTitle"/>
                          <Description resid="createOpportunityDesc"/>
                        </Supertip>
                        <Icon>
                          <bt:Image size="16" resid="opportunity-16"/>
                          <bt:Image size="32" resid="opportunity-32"/>
                          <bt:Image size="80" resid="opportunity-80"/>
                        </Icon>
                        <Action xsi:type="ExecuteFunction">
                          <FunctionName>createOpportunity</FunctionName>
                        </Action>
                      </Item>
                      <Item id="msgCreateActivity">
                        <Label resid="createActivityLabel"/>
                        <Supertip>
                          <Title resid="createActivityTitle"/>
                          <Description resid="createActivityDesc"/>
                        </Supertip>
                        <Icon>
                          <bt:Image size="16" resid="activity-16"/>
                          <bt:Image size="32" resid="activity-32"/>
                          <bt:Image size="80" resid="activity-80"/>
                        </Icon>
                        <Action xsi:type="ExecuteFunction">
                          <FunctionName>createActivity</FunctionName>
                        </Action>
                      </Item>
                    </Items>
                  </Control>
                  <Control xsi:type="Menu" id="msgSetttingHelpMenu">
                    <Label resid="menuSettingsHelpLabel"/>
                    <Supertip>
                      <Title resid="menuSettingsHelpTitle"/>
                      <Description resid="menuSettingsHelpDescription"/>
                    </Supertip>
                    <Icon>
                      <bt:Image size="16" resid="settings-16"/>
                      <bt:Image size="32" resid="settings-32"/>
                      <bt:Image size="80" resid="settings-80"/>
                    </Icon>
                    <Items>
                      <Item id="msgCheckAccountInformation">
                        <Label resid="checkAccountInformationLabel"/>
                        <Supertip>
                          <Title resid="checkAccountInformationTitle"/>
                          <Description resid="checkAccountInformationDesc"/>
                        </Supertip>
                        <Action xsi:type="ShowTaskpane">
                          <SourceLocation resid="settingsPaneUrl"/>
                          <SupportsPinning>true</SupportsPinning>
                        </Action>
                      </Item>
                      <Item id="msgCheckHelp">
                        <Label resid="checkHelpLabel"/>
                        <Supertip>
                          <Title resid="checkHelpTitle"/>
                          <Description resid="checkHelpDesc"/>
                        </Supertip>
                        <Action xsi:type="ExecuteFunction">
                          <FunctionName>checkHelp</FunctionName>
                        </Action>
                      </Item>
                    </Items>
                  </Control>
                </Group>
              </OfficeTab>
            </ExtensionPoint>

          </DesktopFormFactor>
        </Host>
      </Hosts>
    </VersionOverrides>
  </VersionOverrides>
</OfficeApp>

person Joseph Whitley    schedule 28.06.2017    source источник


Ответы (1)


Внутри тега <Supertip> есть <Title> и <Description>. Ресурс <Title> должен быть помещен в родительский тег <bt:ShortStrings>. При этом ресурс <Description> должен быть помещен в родительский тег <bt:LongStrings>.

Документация по XML-манифесту надстроек Office заявил следующее:

  • Название: обязательно. Текст для суперподсказки. Для атрибута resid должно быть установлено значение атрибута id элемента String. Элемент String является дочерним элементом элемента ShortStrings, который является дочерним элементом элемента Resources.
  • Описание: обязательно. Описание для суперсовета. Для атрибута resid должно быть установлено значение атрибута id элемента String. Элемент String является дочерним элементом элемента LongStrings, который является дочерним элементом элемента Resources.

Чтобы исправить ваш манифест, я переместил следующие идентификаторы ресурсов в <bt:ShortStrings>...

<bt:ShortStrings>
    <bt:String id="groupLabel" DefaultValue="--REMOVED--"/>
    <bt:String id="msgReadPaneButtonLabel" DefaultValue="Open --REMOVED--"/>
    <bt:String id="menuCreateLabel" DefaultValue="Create New"/>
    <bt:String id="menuSettingsHelpLabel" DefaultValue="Settings and Help"/>
    <bt:String id="createContactLabel" DefaultValue="Contact"/>
    <bt:String id="createFirmLabel" DefaultValue="Firm"/>
    <bt:String id="createOpportunityLabel" DefaultValue="Opportunity"/>
    <bt:String id="createActivityLabel" DefaultValue="Activity"/>
    <bt:String id="checkAccountInformationLabel" DefaultValue="Account Information"/>
    <bt:String id="checkHelpLabel" DefaultValue="Help"/>
    <bt:String id="msgReadPaneButtonTitle" DefaultValue="--REMOVED--"/>
    <bt:String id="menuCreateTitle" DefaultValue="Create New"/>
    <bt:String id="createOpportunityTitle" DefaultValue="Create New Opportunity"/>
    <bt:String id="checkHelpTitle" DefaultValue="Help"/>
    <bt:String id="checkAccountInformationTitle" DefaultValue="Account Information"/>
    <bt:String id="createActivityTitle" DefaultValue="Create New Activity"/>
    <bt:String id="createFirmTitle" DefaultValue="Create New Firm"/>
    <bt:String id="menuSettingsHelpTitle" DefaultValue="Settings and Help"/>
    <bt:String id="createContactTitle" DefaultValue="Create New Contact"/>
  </bt:ShortStrings>

ИЗМЕНИТЬ:

Это стало «удаленной отладкой» вместо QandA, но я все равно это уже сделал. После внимательного изучения вашего манифеста и замены всех записей изображений моими собственными я понимаю, что вам не хватает всего раздела <Resources> в вашем элементе <VersionOverrides>. Этот тег должен быть внутри элемента VersionOverrides. Пока я добавлял раздел, надстройка появлялась в Outlook Desktop. Обратите внимание, что строки ресурсов в элементе VersionOverrides переопределяют те же строки в родительском элементе.

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

person Slava Ivanov    schedule 28.06.2017
comment
Я обновил вышеуказанное с этими изменениями и переустановил надстройку. Надстройка по-прежнему не отображается. - person Joseph Whitley; 29.06.2017
comment
Проблема заключалась в отсутствующем элементе Resources. Спасибо. - person Joseph Whitley; 29.06.2017