When uploading a manifest file for an Outlook add-in that implements add-in commands, I get the following error:
Something went wrong
This app can't be installed. The manifest file doesn't conform to the schema definition. The element 'CustomTab' in namespace 'http://schemas.microsoft.com/office/mailappversionoverrides' has invalid child element 'Label' in namespace 'http://schemas.microsoft.com/office/mailappversionoverrides'. List of possible elements expected: 'Group in namespace 'http://schemas.microsoft.com/office/mailappversionoverrides'...
However, the Label
element is a valid child of the CustomTab
element. How can I resolve this?
Short answer: Make sure the Label
element appears after all Group
elements inside the CustomTab
element.
Office 365 recently enabled additional schema validation on manifest files, and due to the way the schema is defined for the CustomTab
element, it expects Label
to come after.
In other words, a manifest with this CustomTab
element will trigger the error:
<CustomTab id="TabCustom1">
<Label resid="customTabLabel1"/>
<Group id="group1">
<Label resid="groupLabel1"/>
<Control xsi:type="Button" id="uilessButton1">
<Label resid="uilessButtonLabel1"/>
<Supertip>
<Title resid="uilessButtonSuperTipTitle1"/>
<Description resid="uilessButtonSuperTipDesc1"/>
</Supertip>
<Icon>
<bt:Image size="16" resid="uilessButtonIcon1-16"/>
<bt:Image size="32" resid="uilessButtonIcon1-32"/>
<bt:Image size="80" resid="uilessButtonIcon1-80"/>
</Icon>
<Action xsi:type="ExecuteFunction">
<FunctionName>buttonFunction1</FunctionName>
</Action>
</Control>
</Group>
</CustomTab>
Changing it to this will resolve the error:
<CustomTab id="TabCustom1">
<Group id="group1">
<Label resid="groupLabel1"/>
<Control xsi:type="Button" id="uilessButton1">
<Label resid="uilessButtonLabel1"/>
<Supertip>
<Title resid="uilessButtonSuperTipTitle1"/>
<Description resid="uilessButtonSuperTipDesc1"/>
</Supertip>
<Icon>
<bt:Image size="16" resid="uilessButtonIcon1-16"/>
<bt:Image size="32" resid="uilessButtonIcon1-32"/>
<bt:Image size="80" resid="uilessButtonIcon1-80"/>
</Icon>
<Action xsi:type="ExecuteFunction">
<FunctionName>buttonFunction1</FunctionName>
</Action>
</Control>
</Group>
<Label resid="customTabLabel1"/>
</CustomTab>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With