2017-04-07 16 views
0

我们正在尝试安装一个加载项,该插件使用版本替代1.1中引入的pinnable任务窗格操作。引起加载项安装问题的Pinnable任务窗格操作

错误读取 “无法安装这个应用程序。清单文件不符合模式定义。命名空间‘http://schemas.microsoft.com/office/mailappversionoverrides/1.1’元素‘行动’在命名空间无效子元素'SupportsPinning'http://schemas.microsoft.com/office/mailappversionoverrides/1.1 ...“

我们所在的Exchange服务器版本是Exchange 2016 CU1。

有没有人遇到过这种情况?

下面的清单的样本...

<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0" 
 
     xsi:type="VersionOverridesV1_0"> 
 

 
    <Requirements> 
 
     <bt:Sets DefaultMinVersion="1.4"> 
 
      <bt:Set Name="Mailbox" /> 
 
     </bt:Sets> 
 
    </Requirements> 
 

 
    <Hosts> 
 
     <Host xsi:type="MailHost"> 
 

 
      <DesktopFormFactor> 
 
       <!-- Message read --> 
 
       <ExtensionPoint xsi:type="MessageReadCommandSurface"> 
 
        <OfficeTab id="TabDefault"> 
 
         <Group id="msgreadTabMessage.grp1"> 
 
          <Label resid="groupLabel" /> 
 

 
          <Control xsi:type="Button" id="msgreadTabMessage.grp1.btnView"> 
 
           <Label resid="buttonLabel" /> 
 
           <Supertip> 
 
            <Title resid="superTipTitle" /> 
 
            <Description resid="superTip" /> 
 
           </Supertip> 
 
           <Icon> 
 
            <bt:Image size="16" resid="icon1_16x16" /> 
 
            <bt:Image size="32" resid="icon1_32x32" /> 
 
            <bt:Image size="80" resid="icon1_80x80" /> 
 
           </Icon> 
 
           <Action xsi:type="ShowTaskpane"> 
 
            <SourceLocation resid="taskPaneUrl" /> 
 
           </Action> 
 
          </Control> 
 
         </Group> 
 
        </OfficeTab> 
 
       </ExtensionPoint> 
 
      </DesktopFormFactor> 
 
     </Host> 
 
    </Hosts>      
 

 
    <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1"> 
 
     <Hosts> 
 
      <Host xsi:type="MailHost"> 
 
       <DesktopFormFactor> 
 
        <!-- Message read --> 
 
        <ExtensionPoint xsi:type="MessageReadCommandSurface"> 
 
         <OfficeTab id="TabDefault"> 
 
          <Group id="msgreadTabMessage.grp1"> 
 
           <Label resid="groupLabel" /> 
 

 
           <Control xsi:type="Button" id="msgreadTabMessage.grp1.btnView"> 
 
            <Label resid="buttonLabel" /> 
 
            <Supertip> 
 
             <Title resid="superTipTitle" /> 
 
             <Description resid="superTip" /> 
 
            </Supertip> 
 
            <Icon> 
 
             <bt:Image size="16" resid="icon1_16x16" /> 
 
             <bt:Image size="32" resid="icon1_32x32" /> 
 
             <bt:Image size="80" resid="icon1_80x80" /> 
 
            </Icon> 
 
            <Action xsi:type="ShowTaskpane"> 
 
             <SourceLocation resid="taskPaneUrl" /> 
 
             <SupportsPinning>true</SupportsPinning> 
 
            </Action> 
 
           </Control> 
 
          </Group> 
 
         </OfficeTab> 
 
        </ExtensionPoint> 
 
       </DesktopFormFactor> 
 
      </Host> 
 
     </Hosts> 
 
    </VersionOverrides> 
 
</VersionOverrides>

回答

1

MSDN blog: Pinnable Taskpane in Outlook 2016新VersionOverrides 1.1版已被添加到现有的1.0版本。您的示例清单完全缺少版本1.0覆盖。请按照示例command-demo-manifest.xml来使新的pinnable功能工作。

编辑: 要使用VersionOverrides元素澄清,实现多个版本时,请参照VersionOverrides element: Implementing multiple versions

+0

您是指第一行的清单? 版本覆盖1.1部分位于版本覆盖1.0部分。 奇怪的部分是,它在我们测试CU4上的Exchange 2016服务器上的清单时起作用。 –

2

斯拉瓦的答案是正确的,但可以使用更多一点的解释。 documentation的关键字是:

“子版本的VersionOverrides元素不会继承父级的任何值。

在您的示例模式中,您单独复制了<hosts>元素。为了正常工作,它还必须从其父项中复制<requirements>元素。

+1

是否有任何理由这样的清单(没有主机元素)将在Exchange 2016 CU2 +上工作?我们在那里取得了成功。 Exchange 2016 CU1有什么特别之处? 此外需求元素是可选的,希望这不应该是能够安装应用程序的阻止者。 –

2

SupportsPinning是在Exchange 2016 CU4中引入的,这就是为什么它不适用于CU1。

+0

所以这个supportspinning属性是不是向后兼容? 它可以在Exchange 2013中工作吗? –

+0

如果您的清单包含“SupportsPinning”,则可以将其安装在Exchange 2013中,但是它对插件没有任何影响,这意味着加载项不会是可媲美的。 –

+0

听到这真是太棒了! 只是好奇,为什么不会有类似的情况适用于以前的Exchange 2016 CU,其中属性将不会影响加载项,并且之前的CU只查看VersionOverridesV1_0部分中相关的xml模式? –