1
votes

I am developing an Outlook add-in. Everything was working fine until i tried to add support for pinnable task pane. I've read that I have to add the Versionoverrides child for v1.1. However, if I add the v1.1 VersionOverrides, my add-in won't show at all.

Here's my manifest

<?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"
  xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0"
  xmlns:mailappor="http://schemas.microsoft.com/office/mailappversionoverrides"
  xsi:type="MailApp">
  <Id>fc188889-7206-4d15-9968-7a4966f7f4ca</Id>
  <Version>1.0.0.2</Version>
  <ProviderName>Microsoft Outlook Dev Center</ProviderName>
  <DefaultLocale>en-US</DefaultLocale>
  <DisplayName DefaultValue="SolpheoPluginWeb" />
  <Description DefaultValue="SolpheoPluginWeb Description"/>
  <IconUrl DefaultValue="~remoteAppUrl/Images/blue-64.png" />
  <Hosts>
    <Host Name="Mailbox" />
  </Hosts>
  <Requirements>
    <Sets>
      <Set Name="MailBox" MinVersion="1.1" />
    </Sets>
  </Requirements>
  <FormSettings>
    <Form xsi:type="ItemRead">
      <DesktopSettings>
        <SourceLocation DefaultValue="~remoteAppUrl/"/>
        <RequestedHeight>450</RequestedHeight>
      </DesktopSettings>
    </Form>
    <Form xsi:type="ItemEdit">
      <DesktopSettings>
        <SourceLocation DefaultValue="~remoteAppUrl/"/>
      </DesktopSettings>
    </Form>
  </FormSettings>
  <Permissions>ReadWriteMailbox</Permissions>
  <Rule xsi:type="RuleCollection" Mode="Or">
    <Rule xsi:type="ItemHasAttachment"/>
  </Rule >
  <DisableEntityHighlighting>false</DisableEntityHighlighting>
  <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">
    <Description resid="residAppDescription" />
    <Requirements>
      <bt:Sets DefaultMinVersion="1.1">
        <bt:Set Name="Mailbox" />
      </bt:Sets>
    </Requirements>
    <Hosts>
      <Host xsi:type="MailHost">
        <DesktopFormFactor>
          <FunctionFile resid="functionFile" />
          <!-- Message read form -->
          <ExtensionPoint xsi:type="MessageReadCommandSurface">
            <OfficeTab id="TabDefault">
              <Group id="msgReadDemoGroup">
                <Label resid="groupLabel" />
                <Control xsi:type="Button" id="msgReadSaveAttachments">
                  <Label resid="saveAllAttachmentsLabel" />
                  <Supertip>
                    <Title resid="saveAllAttachmentsTitle" />
                    <Description resid="saveAllAttachmentsDesc" />
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="save-all-icon16" />
                    <bt:Image size="32" resid="save-all-icon32" />
                    <bt:Image size="80" resid="save-all-icon80" />
                  </Icon>
                  <Action xsi:type="ExecuteFunction">
                    <FunctionName>UploadAllAttachments</FunctionName>
                  </Action>
                </Control>

                <!-- Task pane button -->
                <Control xsi:type="Button" id="msgReadOpenPaneButton">
                  <Label resid="paneReadButtonLabel" />
                  <Supertip>
                    <Title resid="paneReadSuperTipTitle" />
                    <Description resid="paneReadSuperTipDescription" />
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="green-icon-16" />
                    <bt:Image size="32" resid="green-icon-32" />
                    <bt:Image size="80" resid="green-icon-80" />
                  </Icon>
                  <Action xsi:type="ShowTaskpane">
                    <SourceLocation resid="readTaskPaneUrl" />
                  </Action>
                </Control>
              </Group>
            </OfficeTab>
          </ExtensionPoint>
        </DesktopFormFactor>
      </Host>
    </Hosts>
    <Resources>
      <bt:Images>
        <bt:Image id="save-all-icon16" DefaultValue="~remoteAppUrl/Images/save-all-16.png"/>
        <bt:Image id="save-all-icon32" DefaultValue="~remoteAppUrl/Images/save-all-32.png"/>
        <bt:Image id="save-all-icon64" DefaultValue="~remoteAppUrl/Images/save-all-64.png"/>
        <bt:Image id="save-all-icon80" DefaultValue="~remoteAppUrl/Images/save-all-80.png"/>
        <!-- Blue icon -->
        <bt:Image id="blue-icon-16" DefaultValue="~remoteAppUrl/Images/blue-16.png"/>
        <bt:Image id="blue-icon-32" DefaultValue="~remoteAppUrl/Images/blue-32.png"/>
        <bt:Image id="blue-icon-80" DefaultValue="~remoteAppUrl/Images/blue-80.png"/>
        <!-- Red icon -->
        <bt:Image id="red-icon-16" DefaultValue="~remoteAppUrl/Images/red-16.png"/>
        <bt:Image id="red-icon-32" DefaultValue="~remoteAppUrl/Images/red-32.png"/>
        <bt:Image id="red-icon-80" DefaultValue="~remoteAppUrl/Images/red-80.png"/>
        <!-- Green icon -->
        <bt:Image id="green-icon-16" DefaultValue="~remoteAppUrl/Images/green-16.png"/>
        <bt:Image id="green-icon-32" DefaultValue="~remoteAppUrl/Images/green-32.png"/>
        <bt:Image id="green-icon-80" DefaultValue="~remoteAppUrl/Images/green-80.png"/>
      </bt:Images>
      <bt:Urls>
        <bt:Url id="residExtensionPointUrl" DefaultValue="~remoteAppUrl/"/>
        <bt:Url id="functionFile" DefaultValue="~remoteAppUrl/#!/functions"/>
        <bt:Url id="readTaskPaneUrl" DefaultValue="~remoteAppUrl/"/>
      </bt:Urls>
      <bt:ShortStrings>
        <bt:String id="groupLabel" DefaultValue="Add-in Demo"/>
        <bt:String id="saveAllAttachmentsLabel" DefaultValue="Save all attachments"/>
        <bt:String id="saveAllAttachmentsTitle" DefaultValue="Save all attachments"/>
        <!-- Read mode -->
        <bt:String id="funcReadButtonLabel" DefaultValue="Get subject"/>
        <bt:String id="menuReadButtonLabel" DefaultValue="Get property"/>
        <bt:String id="paneReadButtonLabel" DefaultValue="Display all properties"/>
        <bt:String id="funcReadSuperTipTitle" DefaultValue="Gets the subject of the message or appointment"/>
        <bt:String id="menuReadSuperTipTitle" DefaultValue="Choose a property to get"/>
        <bt:String id="paneReadSuperTipTitle" DefaultValue="Get all properties"/>
        <bt:String id="menuItem1ReadLabel" DefaultValue="Get item class"/>
        <bt:String id="menuItem2ReadLabel" DefaultValue="Get date time created"/>
        <bt:String id="menuItem3ReadLabel" DefaultValue="Get item ID"/>
      </bt:ShortStrings>
      <bt:LongStrings>
        <bt:String id="saveAllAttachmentsDesc" DefaultValue="Saves all attachments to the Outlook Attachments folder in your OneDrive. This will overwrite any files that already exist with the same name."/>
        <bt:String id="paneReadSuperTipDescription" DefaultValue="Opens a pane so you can choose which attachments to save."/>
        <!-- Read mode -->
        <bt:String id="funcReadSuperTipDescription" DefaultValue="Gets the subject of the message or appointment and displays it in the info bar. This is an example of a function button."/>
        <bt:String id="menuReadSuperTipDescription" DefaultValue="Gets the selected property of the message or appointment and displays it in the info bar. This is an example of a drop-down menu button."/>
        <bt:String id="paneReadSuperTipDescription" DefaultValue="Opens a pane displaying all available properties of the message or appointment. This is an example of a button that opens a task pane."/>
        <bt:String id="menuItem1ReadTip" DefaultValue="Gets the item class of the message or appointment and displays it in the info bar." />
        <bt:String id="menuItem2ReadTip" DefaultValue="Gets the date and time the message or appointment was created and displays it in the info bar." />
        <bt:String id="menuItem3ReadTip" DefaultValue="Gets the item ID of the message or appointment and displays it in the info bar." />
      </bt:LongStrings>
    </Resources>
    <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">
      <Requirements>
        <bt:Sets DefaultMinVersion="1.1">
          <bt:Set Name="Mailbox" />
        </bt:Sets>
      </Requirements>
      <Hosts>
        <Host xsi:type="MailHost">
          <DesktopFormFactor>
            <FunctionFile resid="functionFile" />
            <!-- Message read form -->
            <ExtensionPoint xsi:type="MessageReadCommandSurface">
              <OfficeTab id="TabDefault">
                <Group id="msgReadDemoGroup">
                  <Label resid="groupLabel" />
                  <Control xsi:type="Button" id="msgReadSaveAttachments">
                    <Label resid="saveAllAttachmentsLabel" />
                    <Supertip>
                      <Title resid="saveAllAttachmentsTitle" />
                      <Description resid="saveAllAttachmentsDesc" />
                    </Supertip>
                    <Icon>
                      <bt:Image size="16" resid="save-all-icon16" />
                      <bt:Image size="32" resid="save-all-icon32" />
                      <bt:Image size="80" resid="save-all-icon80" />
                    </Icon>
                    <Action xsi:type="ExecuteFunction">
                      <FunctionName>UploadAllAttachments</FunctionName>
                    </Action>
                  </Control>
                  <!-- Task pane button -->
                  <Control xsi:type="Button" id="msgReadOpenPaneButton">
                    <Label resid="paneReadButtonLabel" />
                    <Supertip>
                      <Title resid="paneReadSuperTipTitle" />
                      <Description resid="paneReadSuperTipDescription" />
                    </Supertip>
                    <Icon>
                      <bt:Image size="16" resid="green-icon-16" />
                      <bt:Image size="32" resid="green-icon-32" />
                      <bt:Image size="80" resid="green-icon-80" />
                    </Icon>
                    <Action xsi:type="ShowTaskpane">
                      <SourceLocation resid="readTaskPaneUrl" />
                      <SupportsPinning>true</SupportsPinning>
                    </Action>
                  </Control>
                </Group>
              </OfficeTab>
            </ExtensionPoint>
          </DesktopFormFactor>
        </Host>
      </Hosts>
      <Resources>
        <bt:Images>
          <bt:Image id="save-all-icon16" DefaultValue="~remoteAppUrl/Images/save-all-16.png"/>
          <bt:Image id="save-all-icon32" DefaultValue="~remoteAppUrl/Images/save-all-32.png"/>
          <bt:Image id="save-all-icon64" DefaultValue="~remoteAppUrl/Images/save-all-64.png"/>
          <bt:Image id="save-all-icon80" DefaultValue="~remoteAppUrl/Images/save-all-80.png"/>
          <!-- Blue icon -->
          <bt:Image id="blue-icon-16" DefaultValue="~remoteAppUrl/Images/blue-16.png"/>
          <bt:Image id="blue-icon-32" DefaultValue="~remoteAppUrl/Images/blue-32.png"/>
          <bt:Image id="blue-icon-80" DefaultValue="~remoteAppUrl/Images/blue-80.png"/>
          <!-- Red icon -->
          <bt:Image id="red-icon-16" DefaultValue="~remoteAppUrl/Images/red-16.png"/>
          <bt:Image id="red-icon-32" DefaultValue="~remoteAppUrl/Images/red-32.png"/>
          <bt:Image id="red-icon-80" DefaultValue="~remoteAppUrl/Images/red-80.png"/>
          <!-- Green icon -->
          <bt:Image id="green-icon-16" DefaultValue="~remoteAppUrl/Images/green-16.png"/>
          <bt:Image id="green-icon-32" DefaultValue="~remoteAppUrl/Images/green-32.png"/>
          <bt:Image id="green-icon-80" DefaultValue="~remoteAppUrl/Images/green-80.png"/>
        </bt:Images>
        <bt:Urls>
          <bt:Url id="residExtensionPointUrl" DefaultValue="~remoteAppUrl/"/>
          <bt:Url id="functionFile" DefaultValue="~remoteAppUrl/#!/functions"/>
          <bt:Url id="readTaskPaneUrl" DefaultValue="~remoteAppUrl/"/>
        </bt:Urls>
        <bt:ShortStrings>
          <bt:String id="groupLabel" DefaultValue="Add-in Demo"/>
          <bt:String id="saveAllAttachmentsLabel" DefaultValue="Save all attachments"/>
          <bt:String id="saveAllAttachmentsTitle" DefaultValue="Save all attachments"/>
          <!-- Read mode -->
          <bt:String id="funcReadButtonLabel" DefaultValue="Get subject"/>
          <bt:String id="menuReadButtonLabel" DefaultValue="Get property"/>
          <bt:String id="paneReadButtonLabel" DefaultValue="Display all properties"/>
          <bt:String id="funcReadSuperTipTitle" DefaultValue="Gets the subject of the message or appointment"/>
          <bt:String id="menuReadSuperTipTitle" DefaultValue="Choose a property to get"/>
          <bt:String id="paneReadSuperTipTitle" DefaultValue="Get all properties"/>
          <bt:String id="menuItem1ReadLabel" DefaultValue="Get item class"/>
          <bt:String id="menuItem2ReadLabel" DefaultValue="Get date time created"/>
          <bt:String id="menuItem3ReadLabel" DefaultValue="Get item ID"/>
        </bt:ShortStrings>
        <bt:LongStrings>
          <bt:String id="saveAllAttachmentsDesc" DefaultValue="Saves all attachments to the Outlook Attachments folder in your OneDrive. This will overwrite any files that already exist with the same name."/>
          <bt:String id="paneReadSuperTipDescription" DefaultValue="Opens a pane so you can choose which attachments to save."/>
          <!-- Read mode -->
          <bt:String id="funcReadSuperTipDescription" DefaultValue="Gets the subject of the message or appointment and displays it in the info bar. This is an example of a function button."/>
          <bt:String id="menuReadSuperTipDescription" DefaultValue="Gets the selected property of the message or appointment and displays it in the info bar. This is an example of a drop-down menu button."/>
          <bt:String id="paneReadSuperTipDescription" DefaultValue="Opens a pane displaying all available properties of the message or appointment. This is an example of a button that opens a task pane."/>
          <bt:String id="menuItem1ReadTip" DefaultValue="Gets the item class of the message or appointment and displays it in the info bar." />
          <bt:String id="menuItem2ReadTip" DefaultValue="Gets the date and time the message or appointment was created and displays it in the info bar." />
          <bt:String id="menuItem3ReadTip" DefaultValue="Gets the item ID of the message or appointment and displays it in the info bar." />
        </bt:LongStrings>
      </Resources>
    </VersionOverrides>
  </VersionOverrides>
</OfficeApp>

I am developing in Visual Studio and I am using Outlook 2016.

If I remove the whole VersionOverrides_V1.1, everything works fine

1
On the end of your manifest you have: </VersionOverrides></VersionOverrides>which means that there is one inside another. Try to close one before opening another.Niko
Accepting Answers: How does it work?Slava Ivanov
@SlavaIvanov Thank you, i am new hereMARCO CIARMOLI
@MARCOCIARMOLI Glad it worked out for you, Marco. The main purpose of the SO is not to solve your particular issue, but collect the answers which may help other members quickly find them when they have similar question. This is why it's important to mark answer if it helped to solve your problem to benefit community members in the future.Slava Ivanov

1 Answers

1
votes

Inside your manifest's <bt:LongStrings> section you have included <bt:String> with the same id twice. You need to remove items with duplicated ids. Please remove the following ...

<bt:String id="paneReadSuperTipDescription" DefaultValue="Opens a pane displaying all available properties of the message or appointment."/>