Надстройка COM использует интерфейс IDTExtensibility2 для связи с приложением Office.
VSTO (и любая другая библиотека надстроек Office, например, Add-in Express) базируется на и расширяет этот интерфейс. Например, ВСТО
- выполняет большую часть фоновой работы для подключения интерфейса.
- предоставляет настройки уровня документа (код, связанный с конкретным документом или шаблоном), а не только надстройки уровня приложения.
- расширяет некоторые части объектной модели Word или Excel, чтобы упростить их работу для разработчика .NET.
- позволяет разработчику размещать элементы управления WinForms на поверхности документа Excel или Word или размещать их на пользовательской панели задач, оборачивая их способом, совместимым с технологией Office
- обеспечивает «подключение» для привязки данных к определенным собственным объектам Office
- предлагает дизайнер ленты для «простых» настроек ленты в качестве альтернативы XML ленты.
VSTO работает с Office 2007 и более поздними версиями (IDTExtensibility2 был введен для Office 2000, если я правильно помню). Вы должны использовать правильный .NET Framework и шаблон VSTO для самой ранней версии Office, которую вы планируете поддерживать. Надстройки, созданные для более ранних версий, можно использовать в более поздних версиях Office без перестройки.
Любая надстройка на основе интерфейса ограничена рабочим столом Windows.