For some reason, when I load the manifest file into Outlook, the default icon is displaying for my Outlook add-in. The add-in is being hosted internally at our organization—would that cause this issue?
Below I have selected the pertinent sections of my manifest file. Please let me know if any other information is needed. Any help would be appreciated.
Manifest hosts:
<Hosts>
<Host xsi:type="MailHost">
<DesktopFormFactor>
<ExtensionPoint xsi:type="AppointmentOrganizerCommandSurface">
<OfficeTab id="TabDefault">
<Group id="msgReadGroup">
<Label resid="groupLabel" />
<Control xsi:type="Button" id="msgReadOpenPaneButton">
<Label resid="paneAppointmentButtonLabel" />
<Supertip>
<Title resid="paneCreateAptSuperTipTitle" />
<Description resid="paneCreateAptTipDescription" />
</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="appointmentCreatePaneURL" />
</Action>
</Control>
</Group>
</OfficeTab>
</ExtensionPoint>
</DesktopFormFactor>
</Host>
</Hosts>
Manifest resources:
<Resources>
...
<bt:Images>
<bt:Image id="icon16" DefaultValue="https://intranet-domain.com/assets/icon-16.png" />
<bt:Image id="icon32" DefaultValue="https://intranet-domain.com/assets/icon-32.png" />
<bt:Image id="icon80" DefaultValue="https://intranet-domain.com/assets/icon-80.png" />
</bt:Images>
...
</Resources>
Related
We have created an Outlook add-in to move emails/attachments to SharePoint which works fine for user mailbox but when I move to the shared mailbox the add-in is not visible
Inside get add-ins to tab the add-in is visible but not visible on the ribbon.
We have configured shared mailbox in Exchange and is auto mapped to outlook. The SupportsSharedFolders is set to true and there are no issues while installing the manifest.
Did I miss any step in configuration?
Please help to get the add-in started for the shared mailbox.
EDIT: Im including the manifest file below. Just found that the desktop client is using version override 1.0 and Web and mobile are using version override 1.1.
<?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/1.0" xsi:type="MailApp">
<Id>1111111111111</Id>
<Version>1.0.0.4</Version>
<ProviderName>Contoso</ProviderName>
<DefaultLocale>en-US</DefaultLocale>
<DisplayName DefaultValue="Contoso E-mail"/>
<Description DefaultValue="Contoso E-mail"/>
<IconUrl DefaultValue="https://localhost:3000/assets/Icon64.png"/>
<HighResolutionIconUrl DefaultValue="https://localhost:3000/assets/Icon128.png"/>
<SupportUrl DefaultValue="https://www.Contoso.com/help"/>
<AppDomains>
<AppDomain>https://login.microsoftonline.com</AppDomain>
<AppDomain>https://login.windows.net</AppDomain>
</AppDomains>
<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:3000/taskpane.html">
<Override Locale="nl-nl" Value="https://localhost:3000/taskpane_nl.html" />
</SourceLocation>
<RequestedHeight>250</RequestedHeight>
</DesktopSettings>
</Form>
</FormSettings>
<Permissions>ReadWriteMailbox</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>
<FunctionFile resid="Commands.Url"/>
<ExtensionPoint xsi:type="MessageReadCommandSurface">
<OfficeTab id="TabDefault">
<Group id="msgReadGroup">
<Label resid="GroupLabel"/>
<Control xsi:type="Button" id="msgReadOpenPaneButton">
<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>
</OfficeTab>
</ExtensionPoint>
</DesktopFormFactor>
</Host>
</Hosts>
<Resources>
<bt:Images>
<bt:Image id="Icon.16x16" DefaultValue="https://localhost:3000/assets/Icon16.png">
<bt:Override Locale="nl-nl" Value="https://localhost:3000/assets/Icon16.png" />
</bt:Image>
<bt:Image id="Icon.32x32" DefaultValue="https://localhost:3000/assets/Icon32.png">
<bt:Override Locale="nl-nl" Value="https://localhost:3000/assets/Icon32.png" />
</bt:Image>
<bt:Image id="Icon.80x80" DefaultValue="https://localhost:3000/assets/Icon80.png">
<bt:Override Locale="nl-nl" Value="https://localhost:3000/assets/Icon80.png" />
</bt:Image>
</bt:Images>
<bt:Urls>
<bt:Url id="Commands.Url" DefaultValue="https://localhost:3000/commands.html"/>
<bt:Url id="Taskpane.Url" DefaultValue="https://localhost:3000/taskpane.html"/>
</bt:Urls>
<bt:ShortStrings>
<bt:String id="GroupLabel" DefaultValue="Contoso E-mail"/>
<bt:String id="TaskpaneButton.Label" DefaultValue="Contoso E-mail"/>
</bt:ShortStrings>
<bt:LongStrings>
<bt:String id="TaskpaneButton.Tooltip" DefaultValue="Opens a pane displaying all available properties."/>
</bt:LongStrings>
</Resources>
<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">
<Requirements>
<bt:Sets DefaultMinVersion="1.3">
<bt:Set Name="Mailbox"/>
</bt:Sets>
</Requirements>
<Hosts>
<Host xsi:type="MailHost">
<DesktopFormFactor>
<FunctionFile resid="Commands.Url"/>
<ExtensionPoint xsi:type="MessageReadCommandSurface">
<OfficeTab id="TabDefault">
<Group id="msgReadGroup">
<Label resid="GroupLabel"/>
<Control xsi:type="Button" id="msgReadOpenPaneButton">
<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>
</OfficeTab>
</ExtensionPoint>
</DesktopFormFactor>
</Host>
<Host xsi:type="MailHost">
<MobileFormFactor>
<FunctionFile resid="Commands.Url" />
<ExtensionPoint xsi:type="MobileMessageReadCommandSurface">
<Group id="mobileMsgRead">
<Label resid="GroupLabel" />
<Control xsi:type="MobileButton" id="TaskPaneBtn">
<Label resid="TaskpaneButton.Label" />
<Icon xsi:type="bt:MobileIconList">
<bt:Image size="25" scale="1" resid="Icon.25x25" />
<bt:Image size="25" scale="2" resid="Icon.25x25" />
<bt:Image size="25" scale="3" resid="Icon.25x25" />
<bt:Image size="32" scale="1" resid="Icon.32x32" />
<bt:Image size="32" scale="2" resid="Icon.32x32" />
<bt:Image size="32" scale="3" resid="Icon.32x32" />
<bt:Image size="48" scale="1" resid="Icon.48x48" />
<bt:Image size="48" scale="2" resid="Icon.48x48" />
<bt:Image size="48" scale="3" resid="Icon.48x48" />
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="Taskpane.Url" />
</Action>
</Control>
</Group>
</ExtensionPoint>
</MobileFormFactor>
</Host>
</Hosts>
<Resources>
<bt:Images>
<bt:Image id="Icon.16x16" DefaultValue="https://localhost:3000/assets/Icon16.png">
<bt:Override Locale="nl-nl" Value="https://localhost:3000/assets/Icon16.png" />
</bt:Image>
<bt:Image id="Icon.32x32" DefaultValue="https://localhost:3000/assets/Icon32.png">
<bt:Override Locale="nl-nl" Value="https://localhost:3000/assets/Icon32.png" />
</bt:Image>
<bt:Image id="Icon.80x80" DefaultValue="https://localhost:3000/assets/Icon80.png">
<bt:Override Locale="nl-nl" Value="https://localhost:3000/assets/Icon80.png" />
</bt:Image>
</bt:Images>
<bt:Urls>
<bt:Url id="Commands.Url" DefaultValue="https://localhost:3000/commands.html"/>
<bt:Url id="Taskpane.Url" DefaultValue="https://localhost:3000/taskpane.html"/>
</bt:Urls>
<bt:ShortStrings>
<bt:String id="GroupLabel" DefaultValue="Contoso E-mail"/>
<bt:String id="TaskpaneButton.Label" DefaultValue="Contoso E-mail"/>
</bt:ShortStrings>
<bt:LongStrings>
<bt:String id="TaskpaneButton.Tooltip" DefaultValue="Opens a pane displaying all available properties."/>
</bt:LongStrings>
</Resources>
</VersionOverrides>
</VersionOverrides>
</OfficeApp>
You have mentioned that "SupportsSharedFolders" is set true but the manifest you shared does not have "SupportsSharedFolders". Please add "SupportsSharedFolders" as mentioned in docs and check.
I am developing an add-in for Outlook. My manifest installs without problems in Outlook for the web, but when I try to install the manifest in Outlook for Mac (v16.43), it appears to succeed, but after closing the add-ins window and re-opening it, the add-in has disappeared.
I have generated some logs from Outlook, and see this error:
04/12/2020 14:29:13 Unexpected Manifest Issue encountered while parsing manifest,
add-in ID : <id>, Location : Error at element "Action" :
Add-in manifest parsing encountered an unexpected child node, Line=90, CharPosition=16
The relevant parts of the manifest are below. The Action element referred to in the error is the one in the MobileFormFactor section. If I remove the MobileFormFactor section, then the manifest installs successfully.
<?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/1.0" xsi:type="MailApp">
...
<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">
<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">
<Description resid="residDescription"></Description>
<Requirements>
<bt:Sets>
<bt:Set Name="Mailbox" MinVersion="1.3"/>
</bt:Sets>
</Requirements>
<Hosts>
<Host xsi:type="MailHost">
<DesktopFormFactor>
<ExtensionPoint xsi:type="AppointmentOrganizerCommandSurface">
<OfficeTab id="TabDefault">
<Group id="apptComposeGroup">
<Label resid="residDescription"/>
<Control xsi:type="Button" id="insertMeetingButton">
<Label resid="addLabel"/>
<Supertip>
<Title resid="addLabel"/>
<Description resid="residTooltip"/>
</Supertip>
<Icon>
<bt:Image size="16" resid="icon-16"/>
<bt:Image size="32" resid="icon-32"/>
<bt:Image size="48" resid="icon-48"/>
<bt:Image size="64" resid="icon-64"/>
<bt:Image size="80" resid="icon-80"/>
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="residTaskpaneUrl"/>
</Action>
</Control>
</Group>
</OfficeTab>
</ExtensionPoint>
</DesktopFormFactor>
<MobileFormFactor>
<ExtensionPoint xsi:type="MobileOnlineMeetingCommandSurface">
<Control xsi:type="MobileButton" id="insertMeetingButton">
<Label resid="prodName"/>
<Icon>
<bt:Image size="25" scale="1" resid="icon-grey16"/>
<bt:Image size="25" scale="2" resid="icon-grey16"/>
<bt:Image size="25" scale="3" resid="icon-grey16"/>
<bt:Image size="32" scale="1" resid="icon-grey32"/>
<bt:Image size="32" scale="2" resid="icon-grey32"/>
<bt:Image size="32" scale="3" resid="icon-grey32"/>
<bt:Image size="48" scale="1" resid="icon-grey48"/>
<bt:Image size="48" scale="2" resid="icon-grey48"/>
<bt:Image size="48" scale="3" resid="icon-grey48"/>
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="residTaskpaneUrl"/>
</Action>
</Control>
</ExtensionPoint>
</MobileFormFactor>
</Host>
</Hosts>
...
</VersionOverrides>
</VersionOverrides>
</OfficeApp>
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 have developed an outlook add-in and posted on Microsoft appstore.
But I got validation error report with change request as below:
4.12.1 Add in commands do not appear in the Outlook 2016 Desktop Client or in the Outlook 2016 Client on Mac - there appears to be an issue in the version overrides element in your manifest file
This is the manifest:
<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>a0fc93fd-3de0-4a0a-b856-8f5e15c8f91d</Id>
<!--Version. Updates from the store only get triggered if there is a version change. -->
<Version>1.0.0.0</Version>
<ProviderName>WritingAssistant</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="WritingAssistant for Outlook" />
<Description DefaultValue="The fastest, easiest way to improve your grammar and writing."/>
<IconUrl DefaultValue="https://outlookplugin.writing-assistant.com/Images/logo-64.png"/>
<HighResolutionIconUrl DefaultValue="https://outlookplugin.writing-assistant.com/Images/logo-80.png"/>
<SupportUrl DefaultValue="https://www.writing-assistant.com/contact.htm" />
<!-- 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.5" />
</Sets>
</Requirements>
<FormSettings>
<Form xsi:type="ItemRead">
<DesktopSettings>
<SourceLocation DefaultValue="https://outlookplugin.writing-assistant.com/MessageRead.html"/>
<RequestedHeight>250</RequestedHeight>
</DesktopSettings>
</Form>
</FormSettings>
<Permissions>ReadWriteItem</Permissions>
<Rule xsi:type="RuleCollection" Mode="Or">
<Rule xsi:type="ItemIs" ItemType="Message" FormType="ReadOrEdit" />
</Rule>
<DisableEntityHighlighting>false</DisableEntityHighlighting>
<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">
<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="Contoso.FunctionFile.Url" />
<!-- Message Read -->
<ExtensionPoint xsi:type="MessageComposeCommandSurface">
<!-- Use the default tab of the ExtensionPoint or create your own with <CustomTab id="myTab"> -->
<CustomTab id="customTabLabel">
<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="Contoso.TaskpaneButton.Icon16" />
<bt:Image size="32" resid="Contoso.TaskpaneButton.Icon32" />
<bt:Image size="64" resid="Contoso.TaskpaneButton.Icon64" />
<bt:Image size="80" resid="Contoso.TaskpaneButton.Icon80" />
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="Contoso.Taskpane.Url" />
</Action>
</Control>
</Group>
<Group id="Contoso.Tab1.Group5">
<Label resid="Contoso.Tab1.GroupLabel2" />
<Control xsi:type="Button" id="Contoso.TranslateWord">
<Label resid="Contoso.TranslateWord.Label" />
<Supertip>
<Title resid="Contoso.TranslateWord.Label" />
<Description resid="Contoso.TranslateWord.Tooltip" />
</Supertip>
<Icon>
<bt:Image size="16" resid="Contoso.TranslateWord.Icon16" />
<bt:Image size="32" resid="Contoso.TranslateWord.Icon32" />
<bt:Image size="64" resid="Contoso.TranslateWord.Icon64" />
<bt:Image size="80" resid="Contoso.TranslateWord.Icon80" />
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="Contoso.TranslateWord.Url" />
</Action>
</Control>
<Control xsi:type="Button" id="Contoso.DS">
<Label resid="Contoso.DS.Label" />
<Supertip>
<Title resid="Contoso.DS.Label" />
<Description resid="Contoso.DS.Tooltip" />
</Supertip>
<Icon>
<bt:Image size="16" resid="Contoso.DS.Icon16" />
<bt:Image size="32" resid="Contoso.DS.Icon32" />
<bt:Image size="64" resid="Contoso.DS.Icon64" />
<bt:Image size="80" resid="Contoso.DS.Icon80" />
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="Contoso.DS.Url" />
</Action>
</Control>
</Group>
<Group id="Contoso.Tab1.Group2">
<Label resid="Contoso.Tab1.GroupLabel2" />
<Control xsi:type="Button" id="Contoso.MyDictionary">
<Label resid="Contoso.MyDictionary.Label" />
<Supertip>
<Title resid="Contoso.MyDictionary.Label" />
<Description resid="Contoso.MyDictionary.Tooltip" />
</Supertip>
<Icon>
<bt:Image size="16" resid="Contoso.MyDictionary.Icon16" />
<bt:Image size="32" resid="Contoso.MyDictionary.Icon32" />
<bt:Image size="64" resid="Contoso.MyDictionary.Icon64" />
<bt:Image size="80" resid="Contoso.MyDictionary.Icon80" />
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="Contoso.MyDictionary.Url" />
</Action>
</Control>
<Control xsi:type="Button" id="Contoso.MyStatistics">
<Label resid="Contoso.MyStatistics.Label" />
<Supertip>
<Title resid="Contoso.MyStatistics.Label" />
<Description resid="Contoso.MyStatistics.Tooltip" />
</Supertip>
<Icon>
<bt:Image size="16" resid="Contoso.MyStatistics.Icon16" />
<bt:Image size="32" resid="Contoso.MyStatistics.Icon32" />
<bt:Image size="64" resid="Contoso.MyStatistics.Icon64" />
<bt:Image size="80" resid="Contoso.MyStatistics.Icon80" />
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="Contoso.MyStatistics.Url" />
</Action>
</Control>
<Control xsi:type="Button" id="Contoso.Download">
<Label resid="Contoso.Download.Label" />
<Supertip>
<Title resid="Contoso.Download.Label" />
<Description resid="Contoso.Download.Tooltip" />
</Supertip>
<Icon>
<bt:Image size="16" resid="Contoso.Download.Icon16" />
<bt:Image size="32" resid="Contoso.Download.Icon32" />
<bt:Image size="64" resid="Contoso.Download.Icon64" />
<bt:Image size="80" resid="Contoso.Download.Icon80" />
</Icon>
<Action xsi:type="ExecuteFunction">
<FunctionName>report</FunctionName>
</Action>
</Control>
</Group>
<Group id="Contoso.Tab1.Group4">
<Label resid="Contoso.Tab1.GroupLabel4" />
<Control xsi:type="Button" id="Contoso.setting">
<Label resid="Contoso.setting.Label" />
<Supertip>
<Title resid="Contoso.setting.Label" />
<Description resid="Contoso.setting.Tooltip" />
</Supertip>
<Icon>
<bt:Image size="16" resid="Contoso.setting.Icon16" />
<bt:Image size="32" resid="Contoso.setting.Icon32" />
<bt:Image size="64" resid="Contoso.setting.Icon64" />
<bt:Image size="80" resid="Contoso.setting.Icon80" />
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="Contoso.Taskpane5.Url" />
</Action>
</Control>
<Control xsi:type="Button" id="Contoso.FAQ">
<Label resid="Contoso.FAQ.Label" />
<Supertip>
<Title resid="Contoso.FAQ.Label" />
<Description resid="Contoso.FAQ.Tooltip" />
</Supertip>
<Icon>
<bt:Image size="16" resid="Contoso.FAQ.Icon16" />
<bt:Image size="32" resid="Contoso.FAQ.Icon32" />
<bt:Image size="64" resid="Contoso.FAQ.Icon64" />
<bt:Image size="80" resid="Contoso.FAQ.Icon80" />
</Icon>
<Action xsi:type="ExecuteFunction">
<FunctionName>faq</FunctionName>
</Action>
</Control>
<Control xsi:type="Button" id="Contoso.Tour">
<Label resid="Contoso.Tour.Label" />
<Supertip>
<Title resid="Contoso.Tour.Label" />
<Description resid="Contoso.Tour.Tooltip" />
</Supertip>
<Icon>
<bt:Image size="16" resid="Contoso.Tour.Icon16" />
<bt:Image size="32" resid="Contoso.Tour.Icon32" />
<bt:Image size="64" resid="Contoso.Tour.Icon64" />
<bt:Image size="80" resid="Contoso.Tour.Icon80" />
</Icon>
<Action xsi:type="ExecuteFunction">
<FunctionName>Tour</FunctionName>
</Action>
</Control>
<Control xsi:type="Button" id="Contoso.logout">
<Label resid="Contoso.logout.Label" />
<Supertip>
<Title resid="Contoso.logout.Label" />
<Description resid="Contoso.logout.Tooltip" />
</Supertip>
<Icon>
<bt:Image size="16" resid="Contoso.logout.Icon16" />
<bt:Image size="32" resid="Contoso.logout.Icon32" />
<bt:Image size="64" resid="Contoso.logout.Icon64" />
<bt:Image size="80" resid="Contoso.logout.Icon80" />
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="Contoso.logout.Url" />
</Action>
</Control>
</Group>
<Group id="Contoso.Tab1.Group3">
<Label resid="Contoso.Tab1.GroupLabel3" />
<Control xsi:type="Button" id="Contoso.Check">
<Label resid="Contoso.Check.Label" />
<Supertip>
<Title resid="Contoso.Check.Label" />
<Description resid="Contoso.Check.Tooltip" />
</Supertip>
<Icon>
<bt:Image size="16" resid="Contoso.Check.Icon16" />
<bt:Image size="32" resid="Contoso.Check.Icon32" />
<bt:Image size="64" resid="Contoso.Check.Icon64" />
<bt:Image size="80" resid="Contoso.Check.Icon80" />
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="Contoso.Taskpane3.Url" />
</Action>
</Control>
<Control xsi:type="Button" id="Contoso.Clear">
<Label resid="Contoso.Clear.Label" />
<Supertip>
<Title resid="Contoso.Clear.Label" />
<Description resid="Contoso.Clear.Tooltip" />
</Supertip>
<Icon>
<bt:Image size="16" resid="Contoso.Clear.Icon16" />
<bt:Image size="32" resid="Contoso.Clear.Icon32" />
<bt:Image size="64" resid="Contoso.Clear.Icon64" />
<bt:Image size="80" resid="Contoso.Clear.Icon80" />
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="Contoso.Taskpane4.Url" />
</Action>
</Control>
<Control xsi:type="Button" id="Contoso.Error">
<Label resid="Contoso.ErrorList.Label" />
<Supertip>
<Title resid="Contoso.ErrorList.Label" />
<Description resid="Contoso.ErrorList.Tooltip" />
</Supertip>
<Icon>
<bt:Image size="16" resid="Contoso.ErrList.Icon16" />
<bt:Image size="32" resid="Contoso.ErrList.Icon32" />
<bt:Image size="64" resid="Contoso.ErrList.Icon64" />
<bt:Image size="80" resid="Contoso.ErrList.Icon80" />
</Icon>
<Action xsi:type="ShowTaskpane">
<!--Provide a url resource id for the location that will be displayed on the task pane -->
<SourceLocation resid="Contoso.ErrorList.Url" />
</Action>
</Control>
</Group>
<Label resid="customTabLabel.TabLabel" />
</CustomTab>
</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="Contoso.setting.Icon16" DefaultValue="https://outlookplugin.writing-assistant.com/Images/setting-16.png" />
<bt:Image id="Contoso.setting.Icon32" DefaultValue="https://outlookplugin.writing-assistant.com/Images/setting-32.png" />
<bt:Image id="Contoso.setting.Icon64" DefaultValue="https://outlookplugin.writing-assistant.com/Images/setting-64.png" />
<bt:Image id="Contoso.setting.Icon80" DefaultValue="https://outlookplugin.writing-assistant.com/Images/setting-80.png" />
<bt:Image id="Contoso.TaskpaneButton.Icon16" DefaultValue="https://outlookplugin.writing-assistant.com/Images/logo-16.png" />
<bt:Image id="Contoso.TaskpaneButton.Icon32" DefaultValue="https://outlookplugin.writing-assistant.com/Images/logo-32.png" />
<bt:Image id="Contoso.TaskpaneButton.Icon64" DefaultValue="https://outlookplugin.writing-assistant.com/Images/logo-64.png" />
<bt:Image id="Contoso.TaskpaneButton.Icon80" DefaultValue="https://outlookplugin.writing-assistant.com/Images/logo-80.png" />
<bt:Image id="Contoso.Check.Icon16" DefaultValue="https://outlookplugin.writing-assistant.com/Images/check-16.png" />
<bt:Image id="Contoso.Check.Icon32" DefaultValue="https://outlookplugin.writing-assistant.com/Images/check-32.png" />
<bt:Image id="Contoso.Check.Icon64" DefaultValue="https://outlookplugin.writing-assistant.com/Images/check-64.png" />
<bt:Image id="Contoso.Check.Icon80" DefaultValue="https://outlookplugin.writing-assistant.com/Images/check-80.png" />
<bt:Image id="Contoso.MyDictionary.Icon16" DefaultValue="https://outlookplugin.writing-assistant.com/Images/my-dictionary-16.png" />
<bt:Image id="Contoso.MyDictionary.Icon32" DefaultValue="https://outlookplugin.writing-assistant.com/Images/my-dictionary-32.png" />
<bt:Image id="Contoso.MyDictionary.Icon64" DefaultValue="https://outlookplugin.writing-assistant.com/Images/my-dictionary-64.png" />
<bt:Image id="Contoso.Download.Icon80" DefaultValue="https://outlookplugin.writing-assistant.com/Images/download-80.png" />
<bt:Image id="Contoso.TranslateWord.Icon16" DefaultValue="https://outlookplugin.writing-assistant.com/Images/translate-word-16.png" />
<bt:Image id="Contoso.TranslateWord.Icon32" DefaultValue="https://outlookplugin.writing-assistant.com/Images/translate-word-32.png" />
<bt:Image id="Contoso.TranslateWord.Icon64" DefaultValue="https://outlookplugin.writing-assistant.com/Images/translate-word-64.png" />
<bt:Image id="Contoso.TranslateWord.Icon80" DefaultValue="https://outlookplugin.writing-assistant.com/Images/translate-word-80.png" />
<bt:Image id="Contoso.WordDefinition.Icon16" DefaultValue="https://outlookplugin.writing-assistant.com/Images/wd-16.png" />
<bt:Image id="Contoso.WordDefinition.Icon32" DefaultValue="https://outlookplugin.writing-assistant.com/Images/wd-32.png" />
<bt:Image id="Contoso.WordDefinition.Icon64" DefaultValue="https://outlookplugin.writing-assistant.com/Images/wd-64.png" />
<bt:Image id="Contoso.WordDefinition.Icon80" DefaultValue="https://outlookplugin.writing-assistant.com/Images/wd-80.png" />
<bt:Image id="Contoso.Synonyms.Icon16" DefaultValue="https://outlookplugin.writing-assistant.com/Images/synonyms-16.png" />
<bt:Image id="Contoso.Synonyms.Icon32" DefaultValue="https://outlookplugin.writing-assistant.com/Images/synonyms-32.png" />
<bt:Image id="Contoso.Synonyms.Icon64" DefaultValue="https://outlookplugin.writing-assistant.com/Images/synonyms-64.png" />
<bt:Image id="Contoso.Synonyms.Icon80" DefaultValue="https://outlookplugin.writing-assistant.com/Images/synonyms-80.png" />
<bt:Image id="Contoso.Clear.Icon16" DefaultValue="https://outlookplugin.writing-assistant.com/Images/clear-icon-16.png" />
<bt:Image id="Contoso.Clear.Icon32" DefaultValue="https://outlookplugin.writing-assistant.com/Images/clear-icon-32.png" />
<bt:Image id="Contoso.Clear.Icon64" DefaultValue="https://outlookplugin.writing-assistant.com/Images/clear-icon-64.png" />
<bt:Image id="Contoso.Clear.Icon80" DefaultValue="https://outlookplugin.writing-assistant.com/Images/clear-icon-80.png" />
<bt:Image id="Contoso.logout.Icon16" DefaultValue="https://outlookplugin.writing-assistant.com/Images/logout-16.png" />
<bt:Image id="Contoso.logout.Icon32" DefaultValue="https://outlookplugin.writing-assistant.com/Images/logout-32.png" />
<bt:Image id="Contoso.logout.Icon64" DefaultValue="https://outlookplugin.writing-assistant.com/Images/logout-64.png" />
<bt:Image id="Contoso.logout.Icon80" DefaultValue="https://outlookplugin.writing-assistant.com/Images/logout-80.png" />
<bt:Image id="Contoso.ErrList.Icon16" DefaultValue="https://outlookplugin.writing-assistant.com/Images/list-16.png" />
<bt:Image id="Contoso.ErrList.Icon32" DefaultValue="https://outlookplugin.writing-assistant.com/Images/list-32.png" />
<bt:Image id="Contoso.ErrList.Icon64" DefaultValue="https://outlookplugin.writing-assistant.com/Images/list-64.png" />
<bt:Image id="Contoso.ErrList.Icon80" DefaultValue="https://outlookplugin.writing-assistant.com/Images/list-80.png" />
</bt:Images>
<bt:Urls>
<bt:Url id="Contoso.FunctionFile.Url" DefaultValue="https://outlookplugin.writing-assistant.com/Functions/FunctionFile.html"/>
<bt:Url id="Contoso.Taskpane3.Url" DefaultValue="https://outlookplugin.writing-assistant.com/UI/Accordion.html"/>
<bt:Url id="Contoso.Taskpane.Url" DefaultValue="https://outlookplugin.writing-assistant.com/UI/Login.html" />
<bt:Url id="Contoso.Taskpane4.Url" DefaultValue="https://outlookplugin.writing-assistant.com/UI/Clear.html"/>
<bt:Url id="Contoso.TranslateWord.Url" DefaultValue="https://outlookplugin.writing-assistant.com/UI/Translate.html"/>
<bt:Url id="Contoso.WordDefinition.Url" DefaultValue="https://outlookplugin.writing-assistant.com/UI/GetWordDefinition.html"/>
<bt:Url id="Contoso.Synonyms.Url" DefaultValue="https://outlookplugin.writing-assistant.com/UI/Synonym.html"/>
<bt:Url id="Contoso.MyDictionary.Url" DefaultValue="https://outlookplugin.writing-assistant.com/UI/GetMyDictionary.html"/>
<bt:Url id="Contoso.MyStatistics.Url" DefaultValue="https://outlookplugin.writing-assistant.com/UI/Statistics.html"/>
<bt:Url id="Contoso.Download.Url" DefaultValue="https://outlookplugin.writing-assistant.com/UI/Download.html"/>
<bt:Url id="Contoso.DS.Url" DefaultValue="https://outlookplugin.writing-assistant.com/UI/DefinitionandSynonyms.html"/>
<bt:Url id="Contoso.FAQ.Url" DefaultValue="https://outlookplugin.writing-assistant.com/UI/Login.html"/>
<bt:Url id="Contoso.Tour.Url" DefaultValue="https://outlookplugin.writing-assistant.com/UI/Login.html"/>
<bt:Url id="Contoso.ErrorList.Url" DefaultValue="https://outlookplugin.writing-assistant.com/UI/ErrorList.html"/>
<bt:Url id="Contoso.Taskpane5.Url" DefaultValue="https://outlookplugin.writing-assistant.com/UI/Setting.html"/>
<bt:Url id="Contoso.logout.Url" DefaultValue="https://outlookplugin.writing-assistant.com/UI/Logout.html"/>
</bt:Urls>
<bt:ShortStrings>
<bt:String id="groupLabel" DefaultValue=" "/>
<bt:String id="customTabLabel" DefaultValue="My Add-in Tab"/>
<bt:String id="paneReadButtonLabel" DefaultValue="WritingAssistant"/>
<bt:String id="paneReadSuperTipTitle" DefaultValue="Get all properties"/>
<bt:String id="customTabLabel.TabLabel" DefaultValue="WritingAssistant" />
<bt:String id="Contoso.Check.Label" DefaultValue="Check" />
<bt:String id="Contoso.TranslateWord.Label" DefaultValue="Translate" />
<bt:String id="Contoso.WordDefinition.Label" DefaultValue="Word Definition" />
<bt:String id="Contoso.Synonyms.Label" DefaultValue="Synonyms" />
<bt:String id="Contoso.MyDictionary.Label" DefaultValue="My Dictionary" />
<bt:String id="Contoso.MyStatistics.Label" DefaultValue="Statistics" />
<bt:String id="Contoso.Download.Label" DefaultValue="Download Report" />
<bt:String id="Contoso.DS.Label" DefaultValue="Word Definition" />
<bt:String id="Contoso.FAQ.Label" DefaultValue="FAQs" />
<bt:String id="Contoso.Tour.Label" DefaultValue="Tour" />
<bt:String id="Contoso.Tab1.GroupLabel2" DefaultValue=" " />
<bt:String id="Contoso.TaskpaneButton.Label2" DefaultValue="Check" />
<bt:String id="Contoso.TranslateWord.Label2" DefaultValue="Translate" />
<bt:String id="Contoso.WordDefinition.Label2" DefaultValue="Word Definition" />
<bt:String id="Contoso.Synonyms.Label2" DefaultValue="Synonyms" />
<bt:String id="Contoso.MyDictionary.Label2" DefaultValue="Open My Dictionary" />
<bt:String id="Contoso.MyStatistics.Label2" DefaultValue="Statistics" />
<bt:String id="Contoso.Download.Label2" DefaultValue="Download Report" />
<bt:String id="Contoso.DS.Label2" DefaultValue="DS" />
<bt:String id="Contoso.FAQ.Label2" DefaultValue="Open FAQ" />
<bt:String id="Contoso.Tour.Label2" DefaultValue="Tour" />
<bt:String id="Contoso.Clear.Label" DefaultValue="Clear Highlights" />
<bt:String id="Contoso.Tab1.GroupLabel3" DefaultValue=" " />
<bt:String id="Contoso.logout.Label" DefaultValue="Logout" />
<bt:String id="Contoso.setting.Label" DefaultValue="Settings" />
<bt:String id="Contoso.Tab1.logout" DefaultValue=" " />
<bt:String id="Contoso.Tab1.GroupLabel4" DefaultValue=" " />
<bt:String id="Contoso.ErrorList.Label" DefaultValue="Error List" />
</bt:ShortStrings>
<bt:LongStrings>
<bt:String id="paneReadSuperTipDescription" DefaultValue="Open WritingAssistant for a comprehensive analysis of your writing."/>
<bt:String id="Contoso.Check.Tooltip" DefaultValue="Check your writing for grammatical errors." />
<bt:String id="Contoso.TranslateWord.Tooltip" DefaultValue="Translating English to German? Or Hindi to Urdu? The Translate tool has got it covered. Simply enter a word, select a language of your choice, and get started. " />
<bt:String id="Contoso.WordDefinition.Tooltip" DefaultValue="Having trouble with a certain word? Type it in the dictionary search bar for the exact meaning and a short description." />
<bt:String id="Contoso.Synonyms.Tooltip" DefaultValue="Running out of words? Allow us to suggest more options to express the same idea in different words." />
<bt:String id="Contoso.MyDictionary.Tooltip" DefaultValue="A modifiable collection of your most frequently used words" />
<bt:String id="Contoso.MyStatistics.Tooltip" DefaultValue="View a summary of your performance in each category: Mechanics, Grammar, Content Quality, and Vocabulary." />
<bt:String id="Contoso.Download.Tooltip" DefaultValue="Click to download Report" />
<bt:String id="Contoso.DS.Tooltip" DefaultValue="Running out of words? Allow us to suggest more options to express the same idea in different words." />
<bt:String id="Contoso.FAQ.Tooltip" DefaultValue="Have questions about WritingAssistant? We are happy to help." />
<bt:String id="Contoso.Tour.Tooltip" DefaultValue="Buckle up for a tour of WritingAssistant." />
<bt:String id="Contoso.Clear.Tooltip" DefaultValue="Clear the current errors from your text and the list." />
<bt:String id="Contoso.logout.Tooltip" DefaultValue="Log out of WritingAssistant and return to the home page." />
<bt:String id="Contoso.setting.Tooltip" DefaultValue="Customise error subcategories for an experience tailored to your needs." />
<bt:String id="Contoso.ErrorList.Tooltip" DefaultValue="Click to get Error list " />
</bt:LongStrings>
</Resources>
</VersionOverrides>
</OfficeApp>
I don't understand what is needed to change here, as I 'm a beginner
The manifest provided has several mistakes, probably just inattention to copy&paste inside Resources section. The following Images were missing ...
<bt:Image id="Contoso.Tour.Icon16" DefaultValue="https://outlookplugin.writing-assistant.com/Images/setting-16.png" />
<bt:Image id="Contoso.Tour.Icon32" DefaultValue="https://outlookplugin.writing-assistant.com/Images/setting-32.png" />
<bt:Image id="Contoso.Tour.Icon64" DefaultValue="https://outlookplugin.writing-assistant.com/Images/setting-64.png" />
<bt:Image id="Contoso.Tour.Icon80" DefaultValue="https://outlookplugin.writing-assistant.com/Images/setting-80.png" />
<bt:Image id="Contoso.FAQ.Icon16" DefaultValue="https://outlookplugin.writing-assistant.com/Images/setting-16.png" />
<bt:Image id="Contoso.FAQ.Icon32" DefaultValue="https://outlookplugin.writing-assistant.com/Images/setting-32.png" />
<bt:Image id="Contoso.FAQ.Icon64" DefaultValue="https://outlookplugin.writing-assistant.com/Images/setting-64.png" />
<bt:Image id="Contoso.FAQ.Icon80" DefaultValue="https://outlookplugin.writing-assistant.com/Images/setting-80.png" />
<bt:Image id="Contoso.DS.Icon16" DefaultValue="https://outlookplugin.writing-assistant.com/Images/setting-16.png" />
<bt:Image id="Contoso.DS.Icon32" DefaultValue="https://outlookplugin.writing-assistant.com/Images/setting-32.png" />
<bt:Image id="Contoso.DS.Icon64" DefaultValue="https://outlookplugin.writing-assistant.com/Images/setting-64.png" />
<bt:Image id="Contoso.DS.Icon80" DefaultValue="https://outlookplugin.writing-assistant.com/Images/setting-80.png" />
<bt:Image id="Contoso.MyStatistics.Icon16" DefaultValue="https://outlookplugin.writing-assistant.com/Images/setting-16.png" />
<bt:Image id="Contoso.MyStatistics.Icon32" DefaultValue="https://outlookplugin.writing-assistant.com/Images/setting-32.png" />
<bt:Image id="Contoso.MyStatistics.Icon64" DefaultValue="https://outlookplugin.writing-assistant.com/Images/setting-64.png" />
<bt:Image id="Contoso.MyStatistics.Icon80" DefaultValue="https://outlookplugin.writing-assistant.com/Images/setting-80.png" />
<bt:Image id="Contoso.MyDictionary.Icon80" DefaultValue="https://outlookplugin.writing-assistant.com/Images/my-dictionary-80.png" />
<bt:Image id="Contoso.Download.Icon16" DefaultValue="https://outlookplugin.writing-assistant.com/Images/download-16.png" />
<bt:Image id="Contoso.Download.Icon32" DefaultValue="https://outlookplugin.writing-assistant.com/Images/download-32.png" />
<bt:Image id="Contoso.Download.Icon64" DefaultValue="https://outlookplugin.writing-assistant.com/Images/download-64.png" />
As long as I added those missing entries the add-in was loaded (obviosly you would need to change the icons for those missing IDs) ...
I try to make an add-in command button to only be visible when there are attachments. Is it possible?
I expected I could add a "Rule" node to the "Control" node but it cannot be done:
<Control xsi:type="Button" id="hButton2">
<Label resid="hButton2Label" />
<Supertip>
<Title resid="hButton2SupertipT" />
<Description resid="hButton2SupertipD" />
</Supertip>
<Icon>
<bt:Image size="16" resid="h-button2-icon-16" />
<bt:Image size="32" resid="h-button2-icon-32" />
<bt:Image size="80" resid="h-button2-icon-80" />
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="hSourceLocation2"/>
</Action>
<Rule xsi:type="ItemHasAttachment" /> <-------------------- won't work
</Control>
The Rule element is only applicable to the CustomPane extension point and can't be defined in a Control element: https://dev.office.com/docs/add-ins/outlook/manifests/define-add-in-commands. See also: https://dev.office.com/docs/add-ins/outlook/manifests/activation-rules