0
votes

My manifest works fine when testing in Office 365 (Word, Powerpoint, Excel) and Word on desktop. When running the same manifest in Powerpoint or Excel on desktop the custom tab does not show up at all in the ribbon. It says "Add-ins loaded successfully" at the bottom but no tab shows in ribbon.

Here is the manifest xml

<?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:ov="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="TaskPaneApp">
  <Id>130f75aa-a500-458a-bc48-031e57b7d70e</Id>
  <Version>1.1.0.0</Version>
  <ProviderName>MyCompany AB</ProviderName>
  <DefaultLocale>en-US</DefaultLocale>
  <DisplayName DefaultValue="MyCompany Test"/>
  <Description DefaultValue="Sign agreements online with MyCompany"/>
  <IconUrl DefaultValue="https://testbed-office-addin.scrive.com/public/assets/icon-32.png"/>
  <HighResolutionIconUrl DefaultValue="https://testbed-office-addin.scrive.com/public/assets/icon-80.png"/>
  <SupportUrl DefaultValue="https://support.scrive.com/"/>
  <AppDomains>
    <AppDomain>scrive.com</AppDomain>
  </AppDomains>
  <Hosts>
    <Host Name="Workbook"/>
    <Host Name="Document"/>
    <Host Name="Presentation"/>
  </Hosts>
  <DefaultSettings>
    <SourceLocation DefaultValue="https://testbed-office-addin.scrive.com/public"/>
  </DefaultSettings>
  <Permissions>ReadWriteDocument</Permissions>
  <VersionOverrides xmlns="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="VersionOverridesV1_0">
    <Description resid="Version.Description" />
    <Hosts>
      <Host xsi:type="Workbook">
        <DesktopFormFactor>
          <ExtensionPoint xsi:type="PrimaryCommandSurface">
            <CustomTab id="MyCompanyTab">
              <Group id="MyCompanyCommands">
                <Label resid="CommandsGroup.Label"/>
                <Icon>
                  <bt:Image size="16" resid="Icon.16x16"/>
                  <bt:Image size="32" resid="Icon.32x32"/>
                  <bt:Image size="80" resid="Icon.80x80"/>
                </Icon>
                <Control xsi:type="Button" id="MyCompanyTaskpaneButton">
                  <Label resid="TaskpaneButton.Label"/>
                  <Supertip>
                    <Title resid="TaskpaneButton.Label"/>
                    <Description resid="TaskpaneButton.Tooltip"/>
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="Icon.16x16"/>
                    <bt:Image size="32" resid="Icon.32x32"/>
                    <bt:Image size="80" resid="Icon.80x80"/>
                  </Icon>
                  <Action xsi:type="ShowTaskpane">
                    <SourceLocation resid="Taskpane.Url"/>
                    <Title resid="TaskpaneButton.Label"/>
                  </Action>
                </Control>
              </Group>
              <Label resid="CustomTab.Label"/>
            </CustomTab>
          </ExtensionPoint>
        </DesktopFormFactor>
      </Host>
      <Host xsi:type="Document">
        <DesktopFormFactor>
          <ExtensionPoint xsi:type="PrimaryCommandSurface">
            <CustomTab id="MyCompanyTab">
              <Group id="MyCompanyCommands">
                <Label resid="CommandsGroup.Label"/>
                <Icon>
                  <bt:Image size="16" resid="Icon.16x16"/>
                  <bt:Image size="32" resid="Icon.32x32"/>
                  <bt:Image size="80" resid="Icon.80x80"/>
                </Icon>
                <Control xsi:type="Button" id="MyCompanyTaskpaneButton">
                  <Label resid="TaskpaneButton.Label"/>
                  <Supertip>
                    <Title resid="TaskpaneButton.Label"/>
                    <Description resid="TaskpaneButton.Tooltip"/>
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="Icon.16x16"/>
                    <bt:Image size="32" resid="Icon.32x32"/>
                    <bt:Image size="80" resid="Icon.80x80"/>
                  </Icon>
                  <Action xsi:type="ShowTaskpane">
                    <SourceLocation resid="Taskpane.Url"/>
                  </Action>
                </Control>
              </Group>
              <Label resid="CustomTab.Label"/>
            </CustomTab>
          </ExtensionPoint>
        </DesktopFormFactor>
      </Host>
      <Host xsi:type="Presentation">
        <DesktopFormFactor>
          <ExtensionPoint xsi:type="PrimaryCommandSurface">
            <CustomTab id="MyCompanyTab">
              <Group id="MyCompanyCommands">
                <Icon>
                  <bt:Image size="16" resid="Icon.16x16"/>
                  <bt:Image size="32" resid="Icon.32x32"/>
                  <bt:Image size="80" resid="Icon.80x80"/>
                </Icon>
                <Control xsi:type="Button" id="MyCompanyTaskpaneButton">
                  <Label resid="TaskpaneButton.Label"/>
                  <Supertip>
                    <Title resid="TaskpaneButton.Label"/>
                    <Description resid="TaskpaneButton.Tooltip"/>
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="Icon.16x16"/>
                    <bt:Image size="32" resid="Icon.32x32"/>
                    <bt:Image size="80" resid="Icon.80x80"/>
                  </Icon>
                  <Action xsi:type="ShowTaskpane">
                    <SourceLocation resid="Taskpane.Url"/>
                  </Action>
                </Control>
                <Label resid="CommandsGroup.Label"/>
              </Group>
              <Label resid="CustomTab.Label"/>
            </CustomTab>
          </ExtensionPoint>
        </DesktopFormFactor>
      </Host>
    </Hosts>
    <Resources>
      <bt:Images>
        <bt:Image id="Icon.16x16" DefaultValue="https://testbed-office-addin.scrive.com/public/assets/icon-16.png"/>
        <bt:Image id="Icon.32x32" DefaultValue="https://testbed-office-addin.scrive.com/public/assets/icon-32.png"/>
        <bt:Image id="Icon.80x80" DefaultValue="https://testbed-office-addin.scrive.com/public/assets/icon-80.png"/>
      </bt:Images>
      <bt:Urls>
        <bt:Url id="GetStarted.LearnMoreUrl" DefaultValue="https://www.scrive.com/products/"/>
        <bt:Url id="Taskpane.Url" DefaultValue="https://testbed-office-addin.scrive.com/public/index.html"/>
      </bt:Urls>
      <bt:ShortStrings>
        <bt:String id="Version.Description" DefaultValue="Sign agreements online with MyCompany"/>
        <bt:String id="GetStarted.Title" DefaultValue="Get started with MyCompany Test!"/>
        <bt:String id="CommandsGroup.Label" DefaultValue="MyCompany"/>
        <bt:String id="CustomTab.Label" DefaultValue="MyCompany Test"/>
        <bt:String id="TaskpaneButton.Label" DefaultValue="MyCompany Test"/>
      </bt:ShortStrings>
      <bt:LongStrings>
        <bt:String id="GetStarted.Description" DefaultValue="MyCompany Test loaded successfully. Go to the MyCompany Test tab and click the 'MyCompany Test' button to get started."/>
        <bt:String id="TaskpaneButton.Tooltip" DefaultValue="Click to show MyCompany Test configuration"/>
      </bt:LongStrings>
    </Resources>
  </VersionOverrides>
</OfficeApp>
1

1 Answers

0
votes

To help anyone else struggling with this I will post my findings that finally got me to a working manifest file.

  1. Action ShowTaskpane needs to have <TaskpaneId> element
    <Action xsi:type="ShowTaskpane">
      <TaskpaneId>ButtonId1</TaskpaneId>
      <SourceLocation resid="Taskpane.Url"/>
    </Action>
  1. office-addin-debugging tool sometimes cache manifest files in these locations (OSX):
    • /Users//Library/Containers/com.microsoft.Word/Data/Documents/wef
    • /Users//Library/Containers/com.microsoft.Excel/Data/Documents/wef
    • /Users//Library/Containers/com.microsoft.Powerpoint/Data/Documents/wef

which can cause changes made locally not reflected when testing with the debugging tool. After I started removing the cached files after each round of testing I quickly found what was working and what was not.