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
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."/>
Related
Given that outlook for iOS and android only supports "MessageReadCommandSurface" I thought I'd investigate how my add-in looks on safari and chrome running on a mobile. On all other platforms I can see'Send to OneNote' as well as my own app but on mobile i only get 'My Templates'. My add-in doesn't appear. Am i doing something wrong?
<?xml version="1.0" encoding="UTF-8"?>
<!--Created:ce44715c-8c4e-446b-879c-ea9ebe0f09c8-->
<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/1.0"
xsi:type="MailApp">
<!-- Begin Basic Settings: Add-in metadata, used for all versions of Office unless override provided. -->
<!-- IMPORTANT! Id must be unique for your add-in, if you reuse this manifest ensure that you change this id to a new GUID. -->
<Id>23c97452-1ba9-4e87-b34d-9e99d92013d6</Id>
<!--Version. Updates from the store only get triggered if there is a version change. -->
<Version>1.0.0.0</Version>
<ProviderName>"Timewatch"</ProviderName>
<DefaultLocale>en-US</DefaultLocale>
<!-- The display name of your add-in. Used on the store and various places of the Office UI such as the add-ins dialog. -->
<DisplayName DefaultValue="My Office Add-in" />
<Description DefaultValue="My First Outlook add-in"/>
<IconUrl DefaultValue="~remoteAppUrl/Images/icon64.png"/>
<!--<IconUrl DefaultValue="https://localhost/Images/icon64.png"/>-->
<SupportUrl DefaultValue="http://www.contoso.com" />
<!-- Domains that will be allowed when navigating. For example, if you use ShowTaskpane and then have an href link, navigation will only be allowed if the domain is on this list. -->
<AppDomains>
<AppDomain>AppDomain1</AppDomain>
<AppDomain>AppDomain2</AppDomain>
<AppDomain>AppDomain3</AppDomain>
</AppDomains>
<!--End Basic Settings. -->
<Hosts>
<Host Name="Mailbox" />
</Hosts>
<Requirements>
<Sets>
<Set Name="Mailbox" MinVersion="1.1" />
</Sets>
</Requirements>
<FormSettings>
<Form xsi:type="ItemRead">
<DesktopSettings>
<SourceLocation DefaultValue="~remoteAppUrl/MessageRead.html"/>
<!--<SourceLocation DefaultValue="https://localhost//MessageRead.html"/>-->
<RequestedHeight>250</RequestedHeight>
</DesktopSettings>
</Form>
</FormSettings>
<Permissions>ReadWriteItem</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">
<Requirements>
<bt:Sets DefaultMinVersion="1.3">
<bt:Set Name="Mailbox" />
</bt:Sets>
</Requirements>
<Hosts>
<Host xsi:type="MailHost">
<DesktopFormFactor>
<!-- Location of the Functions that UI-less buttons can trigger (ExecuteFunction Actions). -->
<FunctionFile resid="functionFile" />
<!-- Message Read -->
<ExtensionPoint xsi:type="MessageReadCommandSurface">
<!-- Use the default tab of the ExtensionPoint or create your own with <CustomTab id="myTab"> -->
<OfficeTab id="TabDefault">
<!-- Up to 6 Groups added per Tab -->
<Group id="msgReadGroup">
<Label resid="groupLabel" />
<!-- Launch the add-in : 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="icon16" />
<bt:Image size="32" resid="icon32" />
<bt:Image size="80" resid="icon80" />
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="messageReadTaskPaneUrl" />
</Action>
</Control>
<!-- Go to http://aka.ms/ButtonCommands to learn how to add more Controls: ExecuteFunction and Menu -->
</Group>
</OfficeTab>
</ExtensionPoint>
<!-- Go to http://aka.ms/ExtensionPointsCommands to learn how to add more Extension Points: MessageRead, AppointmentOrganizer, AppointmentAttendee -->
</DesktopFormFactor>
</Host>
</Hosts>
<Resources>
<bt:Images>
<bt:Image id="icon16" DefaultValue="~remoteAppUrl/Images/icon16.png"/>
<bt:Image id="icon32" DefaultValue="~remoteAppUrl/Images/icon32.png"/>
<bt:Image id="icon80" DefaultValue="~remoteAppUrl/Images/icon80.png"/>
<!--<bt:Image id="icon16" DefaultValue="https://localhost//Images/icon16.png"/>
<bt:Image id="icon32" DefaultValue="https://localhost//Images/icon32.png"/>
<bt:Image id="icon80" DefaultValue="https://localhost//Images/icon80.png"/>-->
</bt:Images>
<bt:Urls>
<bt:Url id="functionFile" DefaultValue="~remoteAppUrl/Functions/FunctionFile.html"/>
<bt:Url id="messageReadTaskPaneUrl" DefaultValue="~remoteAppUrl/MessageRead.html"/>
<!--<bt:Url id="functionFile" DefaultValue="https://localhost//Functions/FunctionFile.html"/>
<bt:Url id="messageReadTaskPaneUrl" DefaultValue="https://localhost//MessageRead.html"/>-->
</bt:Urls>
<bt:ShortStrings>
<bt:String id="groupLabel" DefaultValue="My Add-in Group"/>
<bt:String id="customTabLabel" DefaultValue="My Add-in Tab"/>
<bt:String id="paneReadButtonLabel" DefaultValue="Display all properties"/>
<bt:String id="paneReadSuperTipTitle" DefaultValue="Get all properties"/>
</bt:ShortStrings>
<bt:LongStrings>
<bt:String id="paneReadSuperTipDescription" DefaultValue="Opens a pane displaying all available properties. This is an example of a button that opens a task pane."/>
</bt:LongStrings>
</Resources>
<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">
<Requirements>
<bt:Sets DefaultMinVersion="1.5">
<bt:Set Name="Mailbox" />
</bt:Sets>
</Requirements>
<Hosts>
<Host xsi:type="MailHost">
<DesktopFormFactor>
<!-- Location of the Functions that UI-less buttons can trigger (ExecuteFunction Actions). -->
<FunctionFile resid="functionFile" />
<!-- Message Read -->
<ExtensionPoint xsi:type="MessageReadCommandSurface">
<!-- Use the default tab of the ExtensionPoint or create your own with <CustomTab id="myTab"> -->
<OfficeTab id="TabDefault">
<!-- Up to 6 Groups added per Tab -->
<Group id="msgReadGroup">
<Label resid="groupLabel" />
<!-- Launch the add-in : 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="icon16" />
<bt:Image size="32" resid="icon32" />
<bt:Image size="80" resid="icon80" />
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="messageReadTaskPaneUrl" />
<SupportsPinning>true</SupportsPinning>
</Action>
</Control>
<!-- Go to http://aka.ms/ButtonCommands to learn how to add more Controls: ExecuteFunction and Menu -->
</Group>
</OfficeTab>
</ExtensionPoint>
<!-- Go to http://aka.ms/ExtensionPointsCommands to learn how to add more Extension Points: MessageRead, AppointmentOrganizer, AppointmentAttendee -->
</DesktopFormFactor>
<MobileFormFactor>
<FunctionFile resid="residUILessFunctionFileUrl" />
<ExtensionPoint xsi:type="MobileMessageReadCommandSurface">
<Group id="mobileMsgRead">
<Label resid="GroupOT" />
<Control xsi:type="MobileButton" id="TaskPaneBtn">
<Label resid="ButtonOT" />
<Icon xsi:type="bt:MobileIconList">
<bt:Image size="25" scale="1" resid="icon25" />
<bt:Image size="25" scale="2" resid="icon25" />
<bt:Image size="25" scale="3" resid="icon25" />
<bt:Image size="32" scale="1" resid="icon32" />
<bt:Image size="32" scale="2" resid="icon32" />
<bt:Image size="32" scale="3" resid="icon32" />
<bt:Image size="48" scale="1" resid="icon48" />
<bt:Image size="48" scale="2" resid="icon48" />
<bt:Image size="48" scale="3" resid="icon48" />
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="messageReadTaskPaneUrl" />
</Action>
</Control>
</Group>
</ExtensionPoint>
</MobileFormFactor>
</Host>
</Hosts>
<Resources>
<bt:Images>
<bt:Image id="icon16" DefaultValue="~remoteAppUrl/Images/icon16.png"/>
<bt:Image id="icon25" DefaultValue="~remoteAppUrl/Images/icon25.png"/>
<bt:Image id="icon32" DefaultValue="~remoteAppUrl/Images/icon32.png"/>
<bt:Image id="icon48" DefaultValue="~remoteAppUrl/Images/icon48.png"/>
<bt:Image id="icon80" DefaultValue="~remoteAppUrl/Images/icon80.png"/>
<!--<bt:Image id="icon16" DefaultValue="https://localhost//Images/icon16.png"/>
<bt:Image id="icon32" DefaultValue="https://localhost//Images/icon32.png"/>
<bt:Image id="icon80" DefaultValue="https://localhost//Images/icon80.png"/>-->
</bt:Images>
<bt:Urls>
<bt:Url id="functionFile" DefaultValue="~remoteAppUrl/Functions/FunctionFile.html"/>
<bt:Url id="messageReadTaskPaneUrl" DefaultValue="~remoteAppUrl/MessageRead.html"/>
<!--<bt:Url id="functionFile" DefaultValue="https://localhost//Functions/FunctionFile.html"/>
<bt:Url id="messageReadTaskPaneUrl" DefaultValue="https://localhost//MessageRead.html"/>-->
</bt:Urls>
<bt:ShortStrings>
<bt:String id="GroupOT" DefaultValue="OutlookTime®"/>
<bt:String id="ButtonOT" DefaultValue="Outlook Timesheet"/>
<bt:String id="ButtonOTTipTitle" DefaultValue="Outlook Timesheet"/>
<bt:String id="groupLabel" DefaultValue="My Add-in Group"/>
<bt:String id="customTabLabel" DefaultValue="My Add-in Tab"/>
<bt:String id="paneReadButtonLabel" DefaultValue="Display all properties"/>
<bt:String id="paneReadSuperTipTitle" DefaultValue="Get all properties"/>
</bt:ShortStrings>
<bt:LongStrings>
<bt:String id="paneReadSuperTipDescription" DefaultValue="Opens a pane displaying all available properties. This is an example of a button that opens a task pane."/>
</bt:LongStrings>
</Resources>
</VersionOverrides>
</VersionOverrides>
</OfficeApp>
Please add PhoneSettings element in your manifest for that experience.
I am creating an Outlook Add-in, which works perfectly fine in Outlook 2013. In Outlook 2016, however, nothing shows up. The ribbon items are completely gone. In 2013, there are three ribbon buttons that show up, that do not in 2016.
Any ideas what might be wrong in the manifest file.
<?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>
Inside the <Supertip> tag there are <Title> and <Description>. The <Title> resource must be placed into <bt:ShortStrings> parent tag. In the same time the <Description> resource must be placed into <bt:LongStrings> parent tag.
Documentation on Office Add-ins XML manifest stated the following:
Title: Required. The text for the supertip. The resid attribute must be set to the value of the id attribute of a String element. The String element is a child element of the ShortStrings element, which is a child element of the Resources element.
Description: Required. The description for the supertip. The resid attribute must be set to the value of the id attribute of a String element. The String element is a child element of the LongStrings element, which is a child element of the Resources element.
To fix your manifest I have moved the following Resource Ids into <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>
EDIT:
This is become "remote debugging" instead of QandA, but I already done it anyway. After take a closer look on your manifest and replacing all image entries with my own I realize you are missing entire <Resources> section in your <VersionOverrides> element. You must have this tag inside VersionOverrides element. As long as I added the section the add-in appeared in Outlook Desktop. Please note, the resource strings in VersionOverrides element will override the same strings in the parent element.
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:
OfficeDev/outlook-add-in-command-demo
Building Office add-in commands
Questions
What could be wrong with my manifest file?
How can I verify that the manifest file declares the ribbon button correct?
How can I verify that my manifest file is correct?
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.
I used office-generator to scaffold out an Outlook addin and it seems to show up and run when mail opened in read mode but its not showing up in the addins section when a new mail is being composed. I wanted to show the addin to show up in compose mode and once clicked open the addin in pane.
Following is the generated 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" xsi:type="MailApp" xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0">
<Id>f1a2f021-ef67-4e8f-a08c-e24700c36c3d</Id>
<Version>1.0.0.0</Version>
<ProviderName>[Provider name]</ProviderName>
<DefaultLocale>en-US</DefaultLocale>
<DisplayName DefaultValue="Test"/>
<Description DefaultValue="[Outlook Add-in description]"/>
<IconUrl DefaultValue="https://localhost:8443/images/icon-32.png"/>
<HighResolutionIconUrl DefaultValue="https://localhost:8443/images/hi-res-icon.png"/>
<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:8443/appread/home/home.html"/>
<RequestedHeight>250</RequestedHeight>
</DesktopSettings>
</Form>
<Form xsi:type="ItemEdit">
<DesktopSettings>
<SourceLocation DefaultValue="https://localhost:8443/appcompose/home/home.html"/>
</DesktopSettings>
</Form>
</FormSettings>
<Permissions>ReadWriteItem</Permissions>
<Rule xsi:type="RuleCollection" Mode="Or">
<Rule xsi:type="ItemIs" ItemType="Message" FormType="Edit" />
<Rule xsi:type="ItemIs" ItemType="Message" FormType="Read"/>
<Rule xsi:type="ItemIs" ItemType="Appointment" FormType="Edit"/>
<Rule xsi:type="ItemIs" ItemType="Appointment" 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="icon-16"/>
<bt:Image size="32" resid="icon-32"/>
<bt:Image size="80" resid="icon-80"/>
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="readPaneUrl"/>
</Action>
</Control>
</Group>
</OfficeTab>
</ExtensionPoint>
<ExtensionPoint xsi:type="AppointmentAttendeeCommandSurface">
<OfficeTab id="TabDefault">
<Group id="attendeeCmdGroup">
<Label resid="groupLabel"/>
<Control xsi:type="Button" id="attendeePaneButton">
<Label resid="attendeePaneButtonLabel"/>
<Supertip>
<Title resid="attendeePaneButtonTitle"/>
<Description resid="attendeePaneButtonDesc"/>
</Supertip>
<Icon>
<bt:Image size="16" resid="icon-16"/>
<bt:Image size="32" resid="icon-32"/>
<bt:Image size="80" resid="icon-80"/>
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="readPaneUrl"/>
</Action>
</Control>
</Group>
</OfficeTab>
</ExtensionPoint>
<ExtensionPoint xsi:type="AppointmentOrganizerCommandSurface">
<OfficeTab id="TabDefault">
<Group id="organizerCmdGroup">
<Label resid="groupLabel"/>
<Control xsi:type="Button" id="organizerGetSubject">
<Label resid="getSubjectLabel"/>
<Supertip>
<Title resid="getSubjectTitle"/>
<Description resid="getSubjectDesc"/>
</Supertip>
<Icon>
<bt:Image size="16" resid="icon-16"/>
<bt:Image size="32" resid="icon-32"/>
<bt:Image size="80" resid="icon-80"/>
</Icon>
<Action xsi:type="ExecuteFunction">
<FunctionName>getSubject</FunctionName>
</Action>
</Control>
<Control xsi:type="Menu" id="organizerMenu">
<Label resid="menuLabel"/>
<Supertip>
<Title resid="menuTitle"/>
<Description resid="menuDescription"/>
</Supertip>
<Icon>
<bt:Image size="16" resid="icon-16"/>
<bt:Image size="32" resid="icon-32"/>
<bt:Image size="80" resid="icon-80"/>
</Icon>
<Items>
<Item id="organizerSetSubject">
<Label resid="setSubjectLabel"/>
<Supertip>
<Title resid="setSubjectTitle"/>
<Description resid="setSubjectDesc"/>
</Supertip>
<Icon>
<bt:Image size="16" resid="icon-16"/>
<bt:Image size="32" resid="icon-32"/>
<bt:Image size="80" resid="icon-80"/>
</Icon>
<Action xsi:type="ExecuteFunction">
<FunctionName>setSubject</FunctionName>
</Action>
</Item>
<Item id="organizerAddRecip">
<Label resid="addRecipLabel"/>
<Supertip>
<Title resid="addRecipTitle"/>
<Description resid="addRecipDesc"/>
</Supertip>
<Icon>
<bt:Image size="16" resid="icon-16"/>
<bt:Image size="32" resid="icon-32"/>
<bt:Image size="80" resid="icon-80"/>
</Icon>
<Action xsi:type="ExecuteFunction">
<FunctionName>addToRecipients</FunctionName>
</Action>
</Item>
</Items>
</Control>
</Group>
</OfficeTab>
</ExtensionPoint>
</DesktopFormFactor>
</Host>
</Hosts>
<Resources>
<bt:Images>
<bt:Image id="icon-16" DefaultValue="https://localhost:8443/images/icon-16.png"/>
<bt:Image id="icon-32" DefaultValue="https://localhost:8443/images/icon-32.png"/>
<bt:Image id="icon-80" DefaultValue="https://localhost:8443/images/icon-80.png"/>
</bt:Images>
<bt:Urls>
<bt:Url id="funcFile" DefaultValue="https://localhost:8443/FunctionFile/Functions.html"/>
<bt:Url id="readPaneUrl" DefaultValue="https://localhost:8443/appread/home/home.html"/>
</bt:Urls>
<bt:ShortStrings>
<bt:String id="groupLabel" DefaultValue="Sample Add-in"/>
<bt:String id="msgReadPaneButtonLabel" DefaultValue="See message details"/>
<bt:String id="msgReadPaneButtonTitle" DefaultValue="See message details"/>
<bt:String id="attendeePaneButtonLabel" DefaultValue="See appointment details"/>
<bt:String id="attendeePaneButtonTitle" DefaultValue="See appointment details"/>
<bt:String id="setSubjectLabel" DefaultValue="Set subject"/>
<bt:String id="setSubjectTitle" DefaultValue="Set subject"/>
<bt:String id="getSubjectLabel" DefaultValue="Get subject"/>
<bt:String id="getSubjectTitle" DefaultValue="Get subject"/>
<bt:String id="addRecipLabel" DefaultValue="Add recipient"/>
<bt:String id="addRecipTitle" DefaultValue="Add recipient"/>
<bt:String id="menuLabel" DefaultValue="Modify message"/>
<bt:String id="menuTitle" DefaultValue="Modify message"/>
</bt:ShortStrings>
<bt:LongStrings>
<bt:String id="msgReadPaneButtonDesc" DefaultValue="Opens a task pane showing the subject and sender of the currently selected message"/>
<bt:String id="attendeePaneButtonDesc" DefaultValue="Opens a task pane showing the subject and sender of the currently selected appointment"/>
<bt:String id="setSubjectDesc" DefaultValue="Sets the subject to 'Hello World!'"/>
<bt:String id="getSubjectDesc" DefaultValue="Gets the current subject and displays it in the info bar"/>
<bt:String id="addRecipDesc" DefaultValue="Add yourself to the recipient list (the To line for messages, the Required attendees line for appointments)"/>
<bt:String id="menuDescription" DefaultValue="Expand this menu to set this subject or add yourself to the To line."/>
</bt:LongStrings>
</Resources>
</VersionOverrides>
</OfficeApp>
This is handled in the VersionOverides section. In the manifest you included, you'll notice an ExentionPoint defined as <ExtensionPoint xsi:type="MessageReadCommandSurface">. This defines an extension point for Message Reading.
To enable the add-in during Compose you'll need to add an ExtentionPoint for MessageComposeCommandSurface.
If you would like to only show during Compose, simply remove the MessageReadCommandSurface section. The same applies to AppointmentAttendeeCommandSurface (reading appointments you were invited to) and AppointmentOrganizerCommandSurface (reading appointments you created).
I have been converting the manifest for my Outlook add-in to use a add-in command to show an icon in the ribbon if the user is on Outlook 2016. Unfortunately, I can't seem to get an icon to show up in the ribbon.
The add-in works fine on other clients.
Here is an anonymized version the manifest file I am using:
<?xml version="1.0" encoding="utf-8"?>
<OfficeApp xsi:type="MailApp"
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/1.0">
<Id>892bf749-7601-428e-a658-1d32b883a712</Id>
<Version>1.0.0</Version>
<ProviderName>My Name</ProviderName>
<DefaultLocale>en-US</DefaultLocale>
<DisplayName DefaultValue="My Addin" />
<Description DefaultValue="Description goes here." />
<IconUrl DefaultValue="https://myaddin-host.com/icon.png" />
<HighResolutionIconUrl DefaultValue="https://myaddin-host.com/icon.png" />
<SupportUrl DefaultValue="http://www.sydience.com/?page_id=7" />
<Hosts>
<Host Name="Mailbox" />
</Hosts>
<Requirements>
<Sets>
<Set Name="MailBox" MinVersion="1.1" />
</Sets>
</Requirements>
<FormSettings>
<Form xsi:type="ItemRead">
<DesktopSettings>
<SourceLocation DefaultValue="https://myaddin-host.com/v1.1/AppRead/Home/Home.html" />
<RequestedHeight>350</RequestedHeight>
</DesktopSettings>
<TabletSettings>
<SourceLocation DefaultValue="https://myaddin-host.com/v1.1/AppRead/Home/Home.html" />
<RequestedHeight>350</RequestedHeight>
</TabletSettings>
<PhoneSettings>
<SourceLocation DefaultValue="https://myaddin-host.com/v1.1/AppRead/Home/Home.html" />
</PhoneSettings>
</Form>
</FormSettings>
<Permissions>ReadWriteItem</Permissions>
<Rule xsi:type="RuleCollection" Mode="And">
<Rule xsi:type="ItemIs" ItemType="Message" FormType="Read" />
</Rule>
<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">
<Description resid="residDescription" />
<Requirements>
<bt:Sets DefaultMinVersion="1.3">
<bt:Set Name="Mailbox" />
</bt:Sets>
</Requirements>
<Hosts>
<Host xsi:type="MailHost">
<DesktopFormFactor>
<ExtensionPoint xsi:type="MessageReadCommandSurface">
<OfficeTab id="TabDefault">
<Group id="msgReadMyAddinGroup">
<Label resid="groupLabel" />
<Control xsi:type="Button" id="msgReadOpenPaneButton">
<Label resid="paneReadButtonLabel" />
<Tooltip resid="paneReadTipTitle" />
<Supertip>
<Title resid="paneReadSuperTipTitle" />
<Description resid="paneReadSuperTipDescription" />
</Supertip>
<Icon>
<bt:Image size="16" resid="myaddin-icon-16" />
<bt:Image size="32" resid="myaddin-icon-32" />
<bt:Image size="80" resid="myaddin-icon-80" />
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="readTaskPaneUrl" />
</Action>
</Control>
</Group>
</OfficeTab>
</ExtensionPoint>
</DesktopFormFactor>
</Host>
</Hosts>
<Resources>
<bt:Images>
<bt:Image id="myaddin-icon-16" DefaultValue="https://myaddin-host.com/v1.1/Images/myaddin-icon-16.png" />
<bt:Image id="myaddin-icon-32" DefaultValue="https://myaddin-host.com/v1.1/Images/myaddin-icon-32.png" />
<bt:Image id="myaddin-icon-80" DefaultValue="https://myaddin-host.com/v1.1/Images/myaddin-icon-80.png" />
</bt:Images>
<bt:Urls>
<bt:Url id="readTaskPaneUrl" DefaultValue="https://myaddin-host.com/v1.1/AppRead/Home/Home.html" />
</bt:Urls>
<bt:ShortStrings>
<bt:String id="residDescription" DefaultValue="My Outlook add-in" />
<bt:String id="groupLabel" DefaultValue="My Addin" />
<bt:String id="paneReadButtonLabel" DefaultValue="Show Pan" />
<bt:String id="paneReadTipTitle" DefaultValue="More text here" />
<bt:String id="paneReadSuperTipTitle" DefaultValue="More text here" />
<bt:String id="paneReadSuperTipDescription" DefaultValue="More text here" />
</bt:ShortStrings>
</Resources>
</VersionOverrides>
</OfficeApp>
Your bt:String resources for the Tooltip and Description elements have to be in the bt:LongStrings element. Try replacing:
<bt:ShortStrings>
<bt:String id="residDescription" DefaultValue="My Outlook add-in" />
<bt:String id="groupLabel" DefaultValue="My Addin" />
<bt:String id="paneReadButtonLabel" DefaultValue="Show Pan" />
<bt:String id="paneReadTipTitle" DefaultValue="More text here" />
<bt:String id="paneReadSuperTipTitle" DefaultValue="More text here" />
<bt:String id="paneReadSuperTipDescription" DefaultValue="More text here" />
</bt:ShortStrings>
With:
<bt:ShortStrings>
<bt:String id="residDescription" DefaultValue="My Outlook add-in" />
<bt:String id="groupLabel" DefaultValue="My Addin" />
<bt:String id="paneReadButtonLabel" DefaultValue="Show Pan" />
<bt:String id="paneReadSuperTipTitle" DefaultValue="More text here" />
</bt:ShortStrings>
<bt:LongStrings>
<bt:String id="paneReadTipTitle" DefaultValue="More text here" />
<bt:String id="paneReadSuperTipDescription" DefaultValue="More text here" />
</bt:LongStrings>