Architecture des compléments d'application
Les compléments créés à l'aide des outils de développement Office dans Visual Studio possèdent des fonctionnalités d'architecture qui mettent l'accent sur la stabilité et la sécurité, et leur permettent de travailler étroitement avec Microsoft Office. Cette rubrique décrit les aspects suivants des compléments :
Principes de base des compléments
Composants des compléments
Fonctionnement des compléments avec les applications Microsoft Office
S'applique à : Les informations contenues dans cette rubrique s'appliquent aux projets de niveau application pour Microsoft Office 2010 et la version 2007 de Microsoft® Office System. Pour plus d'informations, consultez Fonctionnalités disponibles par type d'application et de projet Office.
Pour des informations générales sur la création de compléments, consultez Vue d'ensemble du développement des solutions Office et Mise en route de la programmation de compléments d'application.
Principes de base des compléments
Lorsque vous utilisez les outils de développement Office dans Visual Studio pour générer un complément, vous créez un assembly de code managé chargé par une application Microsoft Office. Une fois l'assembly chargé, le complément peut réagir aux événements déclenchés dans l'application (par exemple, lorsqu'un utilisateur clique sur un élément de menu). Le composant peut également exécuter un appel dans le modèle objet pour automatiser et étendre l'application, et il peut utiliser toutes les classes du .NET Framework.
L'assembly communique avec les composants COM de l'application à travers l'assembly PIA (Primary Interop Assembly) de celle-ci. Pour plus d'informations, consultez Assemblys PIA (Primary Interop Assembly) Office et Vue d'ensemble du développement des solutions Office.
Si plusieurs compléments sont installés pour une même application, chaque complément est chargé dans un domaine d'application différent. Cela signifie qu'un complément défaillant ne peut pas entraîner l'échec d'autres compléments. Cela permet également de vérifier que tous les assemblys du complément sont déchargés de la mémoire à la fermeture de l'application. Pour plus d'informations sur les domaines d'application, consultez Domaines d'application.
Notes
Les compléments que vous créez à l'aide des outils de développement Office dans Visual Studio sont conçus pour être utilisés uniquement lorsque l'application Microsoft Office hôte est démarrée par un utilisateur final. Si l'application est démarrée par programmation (par exemple, à l'aide de l'automatisation), le complément risque de ne pas fonctionner correctement.
Composants des compléments
Bien que l'assembly du complément soit le composant principal de celui-ci, il en existe plusieurs autres qui jouent un rôle important dans la manière dont les applications Microsoft Office découvrent et chargent les compléments.
Entrées du Registre
Les applications Microsoft Office découvrent des compléments en recherchant un jeu d'entrées du Registre. Pour obtenir une liste complète des entrées du Registre utilisées par les compléments, consultez Entrées du Registre pour les compléments d'application.
Lorsque vous générez votre solution, Visual Studio crée toutes les entrées du Registre obligatoires sur l'ordinateur de développement afin que vous puissiez déboguer et exécuter votre complément. Pour plus d'informations, consultez Vue d'ensemble du processus de génération de solutions Office.
Si vous utilisez ClickOnce pour déployer votre solution, le programme d'installation généré par le processus de publication crée automatiquement les clés de Registre sur l'ordinateur de l'utilisateur final. Pour plus d'informations, consultez Publication de solutions Office.
Manifeste de déploiement et manifeste d'application
Les compléments utilisent des manifestes de déploiement et des manifestes d'application pour identifier et charger la version la plus récente de l'assembly du complément. Le manifeste de déploiement pointe vers le manifeste d'application actuel. Le manifeste d'application pointe vers l'assembly du complément et spécifie la classe de points d'entrée à exécuter dans l'assembly. Pour plus d'informations, consultez Manifestes d'application et de déploiement dans les solutions Office.
Visual Studio Tools pour Office Runtime
Pour pouvoir exécuter des compléments créés à l'aide des outils de développement Office de Visual Studio, les utilisateurs finaux doivent avoir installé Visual Studio Tools pour Office Runtime sur leur ordinateur. Le runtime comprend des composants non managés et un jeu d'assemblys managés. Les composants non managés chargent l'assembly du complément. Les assemblys managés fournissent le modèle objet que votre code de complément utilise pour automatiser et étendre l'application hôte.
Pour plus d'informations, consultez Vue d'ensemble de Visual Studio Tools pour Office Runtime.
Fonctionnement des compléments avec les applications Microsoft Office
Lorsqu'un utilisateur démarre une application Microsoft Office, l'application utilise le manifeste de déploiement et le manifeste de l'application pour trouver et charger la version la plus récente de l'assembly du complément. L'illustration suivante montre l'architecture de base de ces compléments.
Architecture des compléments
Notes
Dans les solutions Office qui ciblent le .NET Framework 4, les solutions appellent le modèle objet de l'application hôte à l'aide des informations de type d'assembly PIA incorporées dans l'assembly de solution, au lieu d'appeler directement l'assembly PIA. Pour plus d'informations, consultez Conception et création de solutions Office.
Processus de chargement
Les étapes suivantes se produisent lorsqu'un utilisateur démarre une application :
L'application vérifie dans le Registre les entrées qui identifient des compléments créés à l'aide des outils de développement Office dans Visual Studio.
Si l'application trouve de telles entrées, elle charge VSTOEE.dll, qui charge à son tour VSTOLoader.dll. Ces DLL non managées sont les composants de chargement de Visual Studio 2010 Tools pour Office Runtime. Pour plus d'informations, consultez Vue d'ensemble de Visual Studio Tools pour Office Runtime.
VSTOLoader.dll charge le .NET Framework et démarre la partie managée de Visual Studio Tools pour Office Runtime.
Visual Studio Tools pour Office Runtime recherche des mises à jour de manifeste et télécharge l'application et les manifestes de déploiement les plus récents.
Visual Studio Tools pour Office Runtime exécute une série de vérifications de sécurité. Pour plus d'informations, consultez Sécurisation des solutions Office.
Si l'exécution du complément est approuvée, Visual Studio Tools pour Office Runtime utilise le manifeste de déploiement et le manifeste de l'application pour rechercher des mises à jour d'assembly. Si une nouvelle version de l'assembly est disponible, le runtime la télécharge dans le cache ClickOnce de l'ordinateur client. Pour plus d'informations, consultez Déploiement de solutions Office.
Visual Studio Tools pour Office Runtime crée un nouveau domaine d'application dans lequel charger l'assembly du complément.
Visual Studio Tools pour Office Runtime charge l'assembly du complément dans le domaine d'application.
Visual Studio Tools pour Office Runtime appelle la méthode RequestComAddInAutomationService dans votre complément, si vous l'avez substituée.
Vous pouvez également substituer cette méthode pour exposer un objet de votre complément à d'autres solutions Microsoft Office. Pour plus d'informations, consultez Appel de code dans des compléments d'application à partir d'autres solutions Office.
Visual Studio Tools pour Office Runtime appelle la méthode RequestService dans votre complément, si vous l'avez substituée.
Vous pouvez éventuellement substituer cette méthode pour étendre une fonctionnalité Microsoft Office en retournant un objet qui implémente une interface d'extensibilité. Pour plus d'informations, consultez Personnalisation des fonctionnalités de l'interface utilisateur à l'aide d'interfaces d'extensibilité.
Notes
Visual Studio Tools pour Office Runtime effectue des appels séparés à la méthode RequestService pour chaque interface d'extensibilité prise en charge par l'application hôte. Bien que le premier appel à la méthode RequestService se produise généralement avant l'appel à la méthode ThisAddIn_Startup, votre complément ne doit pas former d'hypothèses quant au moment où la méthode RequestService sera appelée, ou au nombre de fois où elle sera appelée.
Visual Studio Tools pour Office Runtime appelle la méthode ThisAddIn_Startup de votre complément. Cette méthode est le gestionnaire d'événements par défaut pour l'événement Startup. Pour plus d'informations, consultez Événements dans les projets Office.
Voir aussi
Concepts
Architecture des personnalisations au niveau du document
Vue d'ensemble de Visual Studio Tools pour Office Runtime
Autres ressources
Architecture des solutions Office dans Visual Studio
Programmation de compléments d'application
Développement de solutions Office