1
votes

Background

I'm developing an Office addin for Outlook. I'm trying to add a button to the ribbon that should open a TaskPane. I've defined the ribbon button in my manifest, under the <Control> block of the XML:

<?xml version="1.0" encoding="UTF-8"?>
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="MailApp">

  <Id>1bf213f9-65a5-4395-aef8-239d72c7e509</Id>
  <Version>1.0.0.0</Version>
  <ProviderName>myProviderName</ProviderName>
  <DefaultLocale>en-US</DefaultLocale>
  <DisplayName DefaultValue="myDisplayName" />
  <Description DefaultValue="myDescription"/>
  <Hosts>
    <Host Name="Mailbox" />
  </Hosts>
  <Requirements>
    <Sets>
      <Set Name="MailBox" MinVersion="1.1" />
    </Sets>
  </Requirements>
  <FormSettings>
    <Form xsi:type="ItemEdit">
      <DesktopSettings>
        <SourceLocation DefaultValue="https://hiddenurl/app/index.html" />
      </DesktopSettings>
    </Form>
  </FormSettings>

  <Permissions>ReadWriteItem</Permissions>

  <Rule xsi:type="RuleCollection" Mode="Or">
    <Rule xsi:type="ItemIs" FormType="Edit" ItemType="Message"/>
  </Rule>
  <DisableEntityHighlighting>false</DisableEntityHighlighting>

  <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides"
                    xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0"
                    xsi:type="VersionOverridesV1_0">
    <Hosts>
      <Host xsi:type="MailHost">
        <DesktopFormFactor>
          <ExtensionPoint xsi:type="MessageComposeCommandSurface">
            <OfficeTab id="TabDefault">
              <Group id="mainGroup">
                <Label resid="groupLabel"/>
                <Tooltip resid="groupsTooltip"/>

                <Control xsi:type="Button" id="button">
                  <Label resid="buttonLabel"/>
                  <Tooltip resid="buttonTooltip"/>
                  <Supertip>
                    <Title resid="superTipTitle"/>
                    <Description resid="superTipDescription"/>
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="icon16"/>
                    <bt:Image size="32" resid="icon32"/>
                    <bt:Image size="80" resid="icon80"/>
                  </Icon>
                  <Action xsi:type="ShowTaskpane">
                    <SourceLocation resid="taskPaneUrl" />
                  </Action>
                </Control>
              </Group>
            </OfficeTab>
          </ExtensionPoint>
        </DesktopFormFactor>
      </Host>
    </Hosts>
    <Resources> 
      <bt:Images>
        <bt:Image id="icon16" DefaultValue="https://hiddenurl/assets/icons/icon_16.png" />
        <bt:Image id="icon32" DefaultValue="https://hiddenurl/assets/icons/icon_32.png" />
        <bt:Image id="icon80" DefaultValue="https://hiddenurl/assets/icons/icon_80.png" />
      </bt:Images>
      <bt:Urls>
        <bt:Url id="taskPaneUrl" DefaultValue="https://hiddenurl/app/index.html" />
      </bt:Urls>
      <bt:ShortStrings>
        <bt:String id="tabLabel" DefaultValue="tabLabel" />
        <bt:String id="groupLabel" DefaultValue="groupLabel" />
        <bt:String id="groupsTooltip" DefaultValue="groupsTooltip" />
        <bt:String id="buttonLabel" DefaultValue="buttonLabel" />
        <bt:String id="buttonTooltip" DefaultValue="buttonTooltip" />
        <bt:String id="superTipTitle" DefaultValue="superTipTitle" />
        <bt:String id="superTipDescription" DefaultValue="superTipDescription" />
      </bt:ShortStrings>
   </Resources>
  </VersionOverrides>
</OfficeApp>

I expect to see a button on the ribbon with my logo, which I should be able to click to open a TaskPane. However I see no button and under Office Add-ins / My Add-ins, my Addin is not even showing.

What I've tried

If I remove the entire <VersionOverrides> block in the manifest the Add-in shows up again under Office Add-ins / My Add-ins and I can access my TaskPane through there.

I've tried to follow these examples without success:

Questions

  1. What could be wrong with my manifest file?
  2. How can I verify that the manifest file declares the ribbon button correct?
  3. How can I verify that my manifest file is correct?
1

1 Answers

2
votes

Your resource section is not properly formatted. Please update to the following and everything will work as you requested ...

<Resources> 
  <bt:Images>
    <bt:Image id="icon16" DefaultValue="https://hiddenurl/assets/icons/icon_16.png" />
    <bt:Image id="icon32" DefaultValue="https://hiddenurl/assets/icons/icon_16.png" />
    <bt:Image id="icon80" DefaultValue="https://hiddenurl/assets/icons/icon_16.png" />
  </bt:Images>
  <bt:Urls>
    <bt:Url id="taskPaneUrl" DefaultValue="https://hiddenurl/app/index.html" />
  </bt:Urls>
  <bt:ShortStrings>
    <bt:String id="tabLabel" DefaultValue="tabLabel" />
    <bt:String id="groupLabel" DefaultValue="groupLabel" />
    <bt:String id="buttonLabel" DefaultValue="buttonLabel" />
    <bt:String id="superTipTitle" DefaultValue="superTipTitle" />
  </bt:ShortStrings>
  <bt:LongStrings>
    <bt:String id="buttonTooltip" DefaultValue="buttonTooltip" />
    <bt:String id="groupsTooltip" DefaultValue="groupsTooltip" />
    <bt:String id="superTipDescription" DefaultValue="superTipDescription" />
  </bt:LongStrings>
</Resources>

You should add "IconUrl" and "HighResolutionIconUrl" into "OfficeApp" section to support clients which do not know anything about "VersionOverridesV1_0". those two nodes should come after "Description". If you will be submittimg your app into the Office Store in the future you will be required to add "SupportUrl" node after "HighResolutionIconUrl".

Keep in mind everything inside manifest file is strict by schemes and should be valid.