0
votes

My addin is working in outlook web client as expected but not showing in Outlook 365 Windows client (Ribbon Buttons not appearing).

I double checked the manifest, it is working as expected on another tenant in Outlook Client (only different urls, Outlook Version 2009 - newer because in preview channel) but not in another (Outlook Version 1908 semi annual channel). Addin is activated and loading in the web client but not in Windows Client.

Manifest (changed names, urls and guid)

<?xml version="1.0" encoding="UTF-8"?>
<!-- Example + Schema: https://docs.microsoft.com/en-us/office/dev/add-ins/develop/add-in-manifests?tabs=tabid-3#manifest-v11-xml-file-examples-and-schemas -->

<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.1"
          xsi:type="MailApp">

  <Id>BDE022E4-6241-433F-2222-1BC250CE1E27</Id>
  <Version>3.3.0.0</Version>
  <ProviderName>Name</ProviderName>
  <DefaultLocale>de-DE</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="AddinName" />
  <Description DefaultValue="Name AddinName Add-in"/>
    <IconUrl DefaultValue="https://url/OutlookAddin/assets/HT_Icons_DMS.png" />
  <HighResolutionIconUrl DefaultValue="https://url/OutlookAddin/assets/HT_Icons_DMS.png" />
  <SupportUrl DefaultValue="https://name.de/support" />

  <!-- 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>https://url</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="https://url/OutlookAddin/index.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 xsi:type="ItemIs" ItemType="Message" FormType="Edit" />
  </Rule>

  <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="readGroupLabel" />
                <!-- 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="readicon16" />
                    <bt:Image size="32" resid="readicon32" />
                    <bt:Image size="80" resid="readicon80" />
                    <bt:Image size="96" resid="readicon96" />
                  </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>
          <!-- Message compose form -->
          <ExtensionPoint xsi:type="MessageComposeCommandSurface">
            <OfficeTab id="TabDefault">
              <Group id="msgComposeGroup">
                <Label resid="composeGroupLabel" />
                <!-- Task pane button -->
                <Control xsi:type="Button" id="msgComposeOpenPaneButton">
                  <Label resid="paneComposeButtonLabel" />
                  <Supertip>
                    <Title resid="paneComposeSuperTipTitle" />
                    <Description resid="paneComposeSuperTipDescription" />
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="composeicon16" />
                    <bt:Image size="32" resid="composeicon32" />
                    <bt:Image size="80" resid="composeicon80" />
                    <bt:Image size="96" resid="composeicon96" />
                  </Icon>
                  <Action xsi:type="ShowTaskpane">
                    <SourceLocation resid="composeTaskPaneUrl" />
                  </Action>
                </Control>
              </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="readicon16" DefaultValue="https://url/OutlookAddin/assets/readicon-16.png"/>
        <bt:Image id="readicon32" DefaultValue="https://url/OutlookAddin/assets/readicon-32.png"/>
        <bt:Image id="readicon80" DefaultValue="https://url/OutlookAddin/assets/readicon-80.png"/>
        <bt:Image id="readicon96" DefaultValue="https://url/OutlookAddin/assets/readicon-96.png"/>
        <bt:Image id="composeicon16" DefaultValue="https://url/OutlookAddin/assets/composeicon-16.png"/>
        <bt:Image id="composeicon32" DefaultValue="https://url/OutlookAddin/assets/composeicon-32.png"/>
        <bt:Image id="composeicon80" DefaultValue="https://url/OutlookAddin/assets/composeicon-80.png"/>
        <bt:Image id="composeicon96" DefaultValue="https://url/OutlookAddin/assets/composeicon-96.png"/>
      </bt:Images>
      <bt:Urls>
        <bt:Url id="functionFile" DefaultValue="https://url/OutlookAddin/function-file/function-file.html"/>
        <bt:Url id="messageReadTaskPaneUrl" DefaultValue="https://url/OutlookAddin/index.html?mode=read"/>
        <bt:Url id="composeTaskPaneUrl" DefaultValue="https://url/OutlookAddin/index.html?mode=compose"/>
      </bt:Urls>
      <bt:ShortStrings>
        <bt:String id="readGroupLabel" DefaultValue="AddinName"/>
        <bt:String id="paneReadButtonLabel" DefaultValue="Hochladen"/>
        <bt:String id="paneReadSuperTipTitle" DefaultValue="AddinName"/>
        <bt:String id="composeGroupLabel" DefaultValue="AddinName"/>
        <bt:String id="paneComposeButtonLabel" DefaultValue="Attachment anfügen"/>
        <bt:String id="paneComposeSuperTipTitle" DefaultValue="AddinName"/>
      </bt:ShortStrings>
      <bt:LongStrings>
        <bt:String id="paneReadSuperTipDescription" DefaultValue="Name AddinName Add-in"/>
        <bt:String id="paneComposeSuperTipDescription" DefaultValue="Name AddinName Add-in"/>
      </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>
          <!-- 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="readGroupLabel" />
                <!-- 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="readicon16" />
                    <bt:Image size="32" resid="readicon32" />
                    <bt:Image size="80" resid="readicon80" />
                    <bt:Image size="96" resid="readicon96" />
                  </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>
           <!-- Message compose form -->
          <ExtensionPoint xsi:type="MessageComposeCommandSurface">
            <OfficeTab id="TabDefault">
              <Group id="msgComposeGroup">
                <Label resid="composeGroupLabel" />
                <!-- Task pane button -->
                <Control xsi:type="Button" id="msgComposeOpenPaneButton">
                  <Label resid="paneComposeButtonLabel" />
                  <Supertip>
                    <Title resid="paneComposeSuperTipTitle" />
                    <Description resid="paneComposeSuperTipDescription" />
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="composeicon16" />
                    <bt:Image size="32" resid="composeicon32" />
                    <bt:Image size="80" resid="composeicon80" />
                    <bt:Image size="96" resid="composeicon96" />
                  </Icon>
                  <Action xsi:type="ShowTaskpane">
                    <SourceLocation resid="composeTaskPaneUrl" />
                    <SupportsPinning>true</SupportsPinning>
                  </Action>
                </Control>
              </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="readicon16" DefaultValue="https://url/OutlookAddin/assets/readicon-16.png"/>
        <bt:Image id="readicon32" DefaultValue="https://url/OutlookAddin/assets/readicon-32.png"/>
        <bt:Image id="readicon80" DefaultValue="https://url/OutlookAddin/assets/readicon-80.png"/>
        <bt:Image id="readicon96" DefaultValue="https://url/OutlookAddin/assets/readicon-96.png"/>
        <bt:Image id="composeicon16" DefaultValue="https://url/OutlookAddin/assets/composeicon-16.png"/>
        <bt:Image id="composeicon32" DefaultValue="https://url/OutlookAddin/assets/composeicon-32.png"/>
        <bt:Image id="composeicon80" DefaultValue="https://url/OutlookAddin/assets/composeicon-80.png"/>
        <bt:Image id="composeicon96" DefaultValue="https://url/OutlookAddin/assets/composeicon-96.png"/>
      </bt:Images>
      <bt:Urls>
        <bt:Url id="functionFile" DefaultValue="https://url/OutlookAddin/function-file/function-file.html"/>
        <bt:Url id="messageReadTaskPaneUrl" DefaultValue="https://url/OutlookAddin/index.html?mode=read"/>
        <bt:Url id="composeTaskPaneUrl" DefaultValue="https://url/OutlookAddin/index.html?mode=compose"/>
      </bt:Urls>
      <bt:ShortStrings>
        <bt:String id="readGroupLabel" DefaultValue="AddinName"/>
        <bt:String id="paneReadButtonLabel" DefaultValue="Hochladen"/>
        <bt:String id="paneReadSuperTipTitle" DefaultValue="AddinName"/>
        <bt:String id="composeGroupLabel" DefaultValue="AddinName"/>
        <bt:String id="paneComposeButtonLabel" DefaultValue="Attachment anfügen"/>
        <bt:String id="paneComposeSuperTipTitle" DefaultValue="AddinName"/>
      </bt:ShortStrings>
      <bt:LongStrings>
        <bt:String id="paneReadSuperTipDescription" DefaultValue="Name AddinName Add-in"/>
        <bt:String id="paneComposeSuperTipDescription" DefaultValue="Name AddinName Add-in"/>
      </bt:LongStrings>
    </Resources>
    </VersionOverrides>
  </VersionOverrides>
</OfficeApp>

What could be the problem? How can I troubleshoot what is happening? The obvious troubleshooting articles from microsoft did not help.

Edit: OnPremise Exchange 2016, Addin worked with other versions of outlook on windows (non 365 Versions)

1
A few things to check, do you know if this manifest works for other tenants on Outlook Version 1908? Do other addins work for this tenant? Is the 'Get Add-ins' button available? (Last 2 may point to addins being blocked by privacy settings) Is this tenant deployed through centralized deployment or installed by individual users? - Outlook Add-ins Team - MSFT
forgot to mention: this is an exchange 2016 onpremise server with outlook 365 clients (centralized deployment). Get Add-Ins button is grayed out. What do you mean by privacy settings and why should this differ from the web client? The addin worked before in this environment, but with non O365 versions of Outlook - roqz
I missed the link to the privacy settings. More info here docs.microsoft.com/en-us/deployoffice/privacy/… and support.microsoft.com/en-us/office/… Office clients can configure this independently from the web client. To confirm if this is related, try enabling Optional Connected Services. It would also be useful to know if other addins work in Outlook for this tenant. - Outlook Add-ins Team - MSFT

1 Answers

0
votes

Thanks to the hints that Outlook Add-ins Team - MSFT gave I found the solution to my problem:

It was indeed the privacy control setting in the registry that has been distributed by group policies. In our case especially the key

HKEY_CURRENT_USER\Software\Policies\Microsoft\office\16.0\common\privacy -> controllerconnectedservicesenabled

was set to dword:00000002 (which is disabled).

After I changed it to dword:00000001 (enabled) the Add-in immediately appeared!

The relevant information can be found at the bottom of this microsoft article https://docs.microsoft.com/en-us/deployoffice/privacy/manage-privacy-controls