在Outlook 2016 Windows桌面客户端

时间:2017-09-08 13:50:13

标签: office-js outlook-web-addins

我们使用Outlook JS Add-In API开发了一个Outlook 365插件。这基本上就是这样 使用Angular 2构建的单页面应用程序,它使用Outlook API进行查询 当前电子邮件项目的详细信息。在我们最新一轮的测试中,我们发现了一个问题 插件未加载到Outlook 2016 Windows桌面客户端(64位)。 这似乎只发生在下面列出的几台机器上:

清单详情 - 最低邮箱API v1.2

症状

  • 插件的index.html简要加载显示我们的加载器GIF
  • 然而,这会立即被空白灰色屏幕取代(没有错误消息 表示无法加载插件)
  • 在调查F12调试程序的问题时,我们没有注意到任何插件或Office生成的日志
  • 可以通过Web客户端(Office和Live Outlook应用程序)从同一台计算机访问该插件

尝试解决方案

  • 根据[1],我们确保在测试时启用保护模式
  • 我们还将安全级别降低到中等,但仍然面临问题

工作设置

  • Outlook Windows 2016桌面客户端(版本号:16.0.8326.2096)

问题的示例设置

  • Outlook Windows 2016桌面客户端(版本号:16.0.7726.1049)64位
  • 已连接到VPN(即使我们未连接到VPN,也会出现问题)

编辑:添加了清单文件。

<?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>

编辑:

事实证明,该问题是由尝试访问localStorage API时引发的错误引起的。由于一些奇怪的原因,它导致灰色屏幕而不是插件卡在加载状态。我能够通过运行以下命令来解决问题:

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

用于托管Office 365插件的IE浏览器控件的嵌入式版本在AppData文件夹的Windows Integrity设置为高时暴露localStorage API时出现问题。

在参考以下SO问题后我找到了解决方案: Access Denied for localstorage in IE10

参考

[1] https://support.microsoft.com/en-us/help/2761180/apps-for-office-don-t-start-if-you-disable-protected-mode-for-the-rest

0 个答案:

没有答案