4

We have developed an Outlook 365 plugin using Outlook JS Add-In API. This is essentially a single page application built using Angular 2 that uses the Outlook API to query details of the current email item. During our latest round of testing we have noticed an issue with the plugin not loading in the Outlook 2016 Windows Desktop Client (64bit). This seems to only occur on a few machines as listed below:

Manifest Details

  • Minimum Mailbox API v1.2

The Symptoms

  • The plugin's index.html briefly loads up showing our loader GIF
  • However, this is immediately replaced by a blank grey screen (there are no error messages indicating the plugin could not be loaded)
  • When investigating the issue with the F12 debugger we did not notice any plugin or Office generated logs
  • The plugin can be accessed from the same machine via the Web client (Office and Live Outlook apps)

Attempted Solutions

  • As per this reference we have ensured that protection mode is enabled when testing
  • We have also reduced the Security level to Medium and yet continue to face the issue

Working Setup

  • Outlook Windows 2016 Desktop Client (Build: 16.0.8326.2096)

Sample Setup with the Issue

  • Outlook Windows 2016 Desktop Client (Build: 16.0.7726.1049) 64-bit
  • Connected to a VPN (The problem occurs even if we are not connected to a VPN)

The manifest file:

<?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>xxxx</Id>
  <Version>1.0.0.0</Version>
  <ProviderName>xxxx</ProviderName>
  <DefaultLocale>en-US</DefaultLocale>
  <DisplayName DefaultValue="xxxx"/>
  <Description DefaultValue="xxxx"/>
  <IconUrl DefaultValue="xxxx"/>
  <HighResolutionIconUrl DefaultValue="xxxxx"/>
  <SupportUrl DefaultValue="xxxx" />
  <AppDomains>
    <AppDomain>xxxx</AppDomain>
    <AppDomain>xxxx</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="xxxx"/>
        <RequestedHeight>250</RequestedHeight>
      </DesktopSettings>
    </Form>
    <Form xsi:type="ItemEdit">
      <DesktopSettings>
        <SourceLocation DefaultValue="xxxx"/>
      </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="Appointment" FormType="Edit"/>
    <Rule xsi:type="ItemIs" ItemType="Message" FormType="Read"/>
    <Rule xsi:type="ItemIs" ItemType="Appointment" FormType="Read"/>
    <Rule xsi:type="ItemHasKnownEntity" EntityType="PhoneNumber"/>
    <Rule xsi:type="ItemHasKnownEntity" EntityType="EmailAddress"/>
  </Rule>
  <DisableEntityHighlighting>false</DisableEntityHighlighting>

  <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>
          <!-- Message Read Form -->
          <ExtensionPoint xsi:type="MessageReadCommandSurface">
            <OfficeTab id="TabDefault">
              <Group id="msgReadDemoGroup">
                <Label resid="groupLabel"/>
                <Control xsi:type="Button" id="msgReadOpenPaneButton">
                  <Label resid="funcReadButtonLabel"/>
                  <Supertip>
                    <Title resid="funcReadSuperTipTitle"/>
                    <Description resid="funcReadSuperTipDescription"/>
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="blue-icon-16"/>
                    <bt:Image size="32" resid="blue-icon-32"/>
                    <bt:Image size="80" resid="blue-icon-80"/>
                  </Icon>
                  <Action xsi:type="ShowTaskpane">
                    <SourceLocation resid="composeTaskPaneUrl"/>
                  </Action>
                </Control>
              </Group>
            </OfficeTab>
          </ExtensionPoint>
        </DesktopFormFactor>
      </Host>
    </Hosts>
    <Resources>
      <!-- add information on resources -->
      <bt:Images>
        <!-- Blue icon -->
        <bt:Image id="blue-icon-16" DefaultValue="xxxx"/>
        <bt:Image id="blue-icon-32" DefaultValue="xxxx"/>
        <bt:Image id="blue-icon-80" DefaultValue="xxxx"/>
      </bt:Images>
      <bt:Urls>
        <bt:Url id="composeTaskPaneUrl" DefaultValue="xxxx"/>
      </bt:Urls>
      <bt:ShortStrings>
        <bt:String id="groupLabel" DefaultValue="xxxx"/>
        <bt:String id="funcReadButtonLabel" DefaultValue="xxxx"/>
        <bt:String id="funcReadSuperTipTitle" DefaultValue="xxxx"/>
      </bt:ShortStrings>
      <bt:LongStrings>
        <bt:String id="funcReadSuperTipDescription" DefaultValue="xxxx"/>
      </bt:LongStrings>
    </Resources>
  </VersionOverrides>
</OfficeApp>
vvvvv
  • 25,404
  • 19
  • 49
  • 81
Sameera Jayaseckara
  • 457
  • 1
  • 6
  • 13
  • Thanks for the detailed write-up. I have a couple of questions. On the machines that have the repro: (1) Does the issue repro consistently? (2) Do other add-ins on that machine also have this issue? – Outlook Add-ins Team - MSFT Sep 12 '17 at 00:49
  • Thanks for the response. Re: (1) The issue does reproduce consistently (2) I do not have access to this machine at the moment, but will reply as soon as I check – Sameera Jayaseckara Sep 12 '17 at 07:34
  • I finally got to test (2) and the plugins load without an issue – Sameera Jayaseckara Sep 21 '17 at 13:24
  • One way to test is to right click on the webpage and select attach debugger to see what's going on. Another would be to turn on JS debugging from IE internet options and if there are failures, it'll prompt you to attach a debugger. Let us know if that helps – Outlook Add-ins Team - MSFT Sep 27 '17 at 22:17
  • We get a grey screen which does not offer any right click context options. The add-in shows a loading GIF we have placed for a fraction of a second before been replaced by the grey screen. – Sameera Jayaseckara Sep 28 '17 at 07:29
  • 1
    Did you try turning on JS debugging in IE->internetoptions? Could you also please share your manifest and the version of Outlook you are testing it on. – Outlook Add-ins Team - MSFT Sep 28 '17 at 19:30
  • I have updated the question to include the manifest. I have not tried enabling the JS debugger but I have tried it with the F12 console (I am not seeing any logs). – Sameera Jayaseckara Oct 02 '17 at 05:54
  • Can we get the original manifest with values so that we can try out a repro on our end? If your resource got loaded then it is specific to your addin and we won't be able to help debug that. Please provide us with a generic repro to help you with this. – Outlook Add-ins Team - MSFT Oct 05 '17 at 23:56
  • It turned out that the issue was related to a failure accessing the localStorage API. The solution was suggested by a teammate after he referenced: https://stackoverflow.com/questions/13102116/access-denied-for-localstorage-in-ie10. Thank You for taking the time to reply to my query – Sameera Jayaseckara Oct 06 '17 at 13:55

1 Answers1

0

The issue is caused by an error which is thrown when attempting to access the localStorage API. For some odd reason it is causing a grey screen instead of the plugin been stuck in the loading state. To fix the issue, run the following command:

icacls %userprofile%\Appdata\LocalLow /t /setintegritylevel (OI)(CI)L

The embedded version of the IE browser control which is used to host the Office 365 plugins has an issue with exposing the localStorage API when Windows Integrity of the AppData folder is set to high.

I found the solution after referencing the following SO question: Access Denied for localstorage in IE10


This answer was posted as an edit to the question Outlook 365 plugin not loading in Outlook 2016 Windows Desktop Client by the OP Sameera Jayaseckara under CC BY-SA 3.0.

vvvvv
  • 25,404
  • 19
  • 49
  • 81