Office Addin - Specification of requirements tags for two different hosts (ExcelApi, WordApi)


I have a problem when submitting my Addin for Office

My plugin must work on Word and Excel 2016 (MS Desktop 2016, Online, Mac). When I submitted, they told me that all must be in one project.

This is about the 4.12.1 chapter about extension exigence page, when I wanted to put the "requirements" tags.

So, I put these lines, but the plugin didn't work. Only "WordApi" or "ExcelApi" is allowed but not the both. In the furnished manifest, I put only WordApi.

    <Sets DefaultMinVersion="1.1">
        <Set Name="WordApi" MinVersion="1.2"/>
        <Set Name="ExcelApi" MinVersion="1.1"/>

I spent one day to search everywhere but nothing. Do you have a solution?

I believe the issue here is using a single manifest for both Word and Excel. If you specify both 'Document' and 'Workbook as hosts but then add WordApi as a requirement it will effectively disable your add-in in Excel. This is because Excel will always fail the requirement check for for WordApi. Similarly, if you specify ExcelApi it will effectively disable the add-in for Word.

The workaround is to create two manifest files, one for each host. Note that this will require that you submit two different add-ins for validation since each add-in is linked to a single manifest.

When submitting multiple add-ins there are a couple of important steps that need to be taken:

  • Each add-in must have a unique name. You cannot submit two add-ins with the same name as it would make it pretty difficult for user's to discern between them. As an aside, descriptive names are super important. I cannot overstate how much better add-ins with descriptive names perform over add-ins that rely only on brand/product names.

  • Each manifest must have a unique GUID <id> in the manifest. This is how Office identifies each add-ins (Names may change change but Ids remain the same) and submitting two add-ins with the same Id will trigger an error condition. Even in side-loaded scenarios, duplicate Ids will present problems when deploying.

  • Validation isn't an automated process, it involves human beings actually testing your add-in. Providing as much detail as possible will help them get up to speed quickly so they can focus on helping you get into the Store.