Tell your add-in what its host application is
The first trick in the development of COM add-ins based on Add-in Express (ADX) that I want to show you here is quite trivial. I won’t give a single line of code, just a few paragraphs of my contemplations. The matter concerns the following:
Do you ever have a look at the technical documentation of those 3rd-party components that you buy? Do you read them before installing the components? Or at least when you face some difficulties with them? I am not so highly qualified professional as you are, and I want to confess my heavy sin. I practically never do anything mentioned above. I am spoilt by the RAD paradigm, its inherent IDEs, as well as standard class member names and their expected behavior. And it seems (I am revealing a great secret here) all guys from the ADX Team are spoilt by the same things. Sometimes I even let myself think that it is this indulgence that Add-in Express resulted from. Don’t you use it yet? :-)
Sure, we have built our Add-in Express exactly as the RAD paradigm requires. But, unfortunately, we made a strategic mistake when designing it. We left the SupportedApps property empty by default. That’s why every time building a new add-in based on ADX, we and you have to directly indicate what application or applications the add-in will work under. Oh, poor me! It was I that was saying at the very beginning of our work on ADX that we couldn’t develop add-ins for all host applications at the same time by default. And, it seems, it was also I who was saying that we couldn’t even select only Outlook as the most popular host application for which add-ins based on Add-in Express are developed. And, as a result of that my delusion, we are forgetting to select a host application and don’t find our command bars at the first run of the add-in. What do we do then? For example, I forward my project to somebody from the ADX Team. And immediately get a standard reply: It was you who insisted on leaving the SupportedApps property empty! :-)
That is why, overcoming my natural modesty, I’d like to ask everyone who reads this post to remember about the SupportedApps property. So, every time you have generated a new project based on Add-in Express, don’t forget to tell your add-in what its host application is.