Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Résumé
Découvrez comment déployer un complément Microsoft Visual Studio Tools pour Office (VSTO) ou une solution au niveau du document à l’aide d’un projet Visual Studio Installer.
Wouter van Vugt, Code Counsel
Ted Pattison, Ted Pattison Group
Cet article a été mis à jour par Microsoft avec l’autorisation des auteurs d’origine.
S’applique à : Visual Studio Tools pour Office, Microsoft Office, Microsoft Visual Studio.
Vous pouvez développer une solution VSTO et déployer la solution à l’aide d’un package Windows Installer. Cette discussion inclut les étapes de déploiement d’un complément Office simple.
Méthodes de déploiement
ClickOnce peut facilement être utilisé pour créer des configurations pour vos compléments et solutions. Toutefois, il ne peut pas installer de compléments qui nécessitent des privilèges d’administration tels que des compléments au niveau de l’ordinateur.
Les compléments qui nécessitent des privilèges d’administration peuvent être installés à l’aide de Windows Installer, mais ils nécessitent plus d’efforts pour créer l’installation.
Pour obtenir une vue d’ensemble de la façon de déployer une solution VSTO à l’aide de ClickOnce, consultez Déployer une solution Office à l’aide de ClickOnce.
Déploiement de solutions Office ciblant le runtime VSTO
Les packages ClickOnce et Windows Installer doivent effectuer les mêmes tâches rudimentaires lors de l’installation d’une solution Office.
- Installez les composants requis sur l’ordinateur utilisateur.
- Déployez les composants spécifiques de la solution.
- Pour les compléments, créez des entrées de registre.
- Faites confiance à la solution pour l’autoriser à s’exécuter.
Composants requis requis sur l’ordinateur cible
Voici la liste des logiciels qui doivent être installés sur l’ordinateur pour exécuter des solutions VSTO :
- Microsoft Office 2010 ou version ultérieure.
- Microsoft .NET Framework 4 ou version ultérieure.
- Outils Microsoft Visual Studio 2010 pour Office Runtime. Le runtime fournit un environnement qui gère les compléments et les solutions au niveau du document. Une version du runtime est fournie avec Microsoft Office, mais vous pouvez redistribuer une version spécifique avec votre complément.
- Les assemblies d’interopérabilité primaires pour Microsoft Office, si vous n’utilisez pas de types d’interopérabilité incorporés.
- Toutes les assemblages utilitaires référencés par les projets.
Composants spécifiques de la solution
Le package d’installation doit installer ces composants sur l’ordinateur de l’utilisateur :
- Le document Microsoft Office, si vous créez une solution de niveau document.
- L'assemblage de personnalisation et les assemblages nécessaires.
- Composants supplémentaires tels que les fichiers de configuration.
- Manifeste de l’application (.manifest).
- Manifeste de déploiement (.vsto).
Entrées de Registre pour les compléments
Microsoft Office utilise des entrées de Registre pour localiser et charger des compléments. Ces entrées de Registre doivent être créées dans le cadre du processus de déploiement. Pour plus d’informations sur ces entrées de Registre, consultez Les entrées de Registre pour les compléments VSTO.
Les compléments Outlook qui affichent des zones de formulaire personnalisées nécessitent des entrées de Registre supplémentaires qui permettent d’identifier les zones de formulaire. Pour plus d’informations sur les entrées de Registre, consultez Les entrées de Registre pour les zones de formulaire Outlook.
Les solutions au niveau du document ne nécessitent aucune entrée de Registre. Au lieu de cela, les propriétés à l’intérieur du document sont utilisées pour localiser la personnalisation. Pour plus d’informations sur ces propriétés, consultez Vue d’ensemble des propriétés de document personnalisées.
Confiance en la solution VSTO
Pour qu’une personnalisation s’exécute, une solution doit être approuvée par l’ordinateur. Le complément peut être approuvé en signant le manifeste avec un certificat, en créant une relation d’approbation avec une liste d’inclusion ou en l’installant sur un emplacement approuvé sur l’ordinateur.
Pour plus d’informations sur l’obtention d’un certificat pour la signature, consultez Déploiement ClickOnce et Authenticode. Pour plus d’informations sur la confiance des solutions, consultez Approbation de solutions Office à l’aide de listes d’inclusion. Vous pouvez ajouter une entrée de liste d’inclusion avec une action personnalisée dans votre fichier Windows Installer. Pour plus d’informations sur l’activation de la liste d’inclusion, consultez Guide pratique pour configurer la sécurité de la liste d’inclusion.
Si aucune option n’est utilisée, une invite d’approbation s’affiche à l’utilisateur pour lui permettre de décider s’il faut approuver la solution.
Pour plus d’informations sur la sécurité liée aux solutions au niveau du document, consultez Octroi de la confiance aux documents.
Création d’un programme d’installation de base
Les modèles de projet d’installation et de déploiement sont inclus dans l’extension Projets Microsoft Visual Studio Installer qui est disponible en téléchargement.
Pour créer un programme d’installation pour une solution Office, ces tâches doivent être effectuées :
- Ajoutez les composants de la solution Office qui seront déployés.
- Pour les compléments au niveau de l’application, configurez les clés de Registre.
- Configurez les composants requis afin qu’ils puissent être installés sur les ordinateurs des utilisateurs finaux.
- Configurez les conditions de lancement pour vérifier que les composants requis requis sont disponibles. Les conditions de lancement peuvent être utilisées pour bloquer l’installation si toutes les conditions préalables requises ne sont pas installées.
La première étape consiste à créer le projet d’installation.
Pour créer le projet d’installation d’AddIn
Ouvrez le projet Complément Office que vous souhaitez déployer. Pour cet exemple, nous utilisons un complément Excel appelé ExcelAddIn.
Une fois le projet Office ouvert, dans le menu Fichier , développez Ajouter et cliquez sur Nouveau projet pour ajouter un nouveau projet.
Dans la zone Nom , tapez OfficeAddInSetup.
Visual Studio ouvre l’Explorateur de systèmes de fichiers pour le nouveau projet d’installation. L’Explorateur de systèmes de fichiers vous permet d’ajouter des fichiers au projet d’installation.
Figure 1 : Explorateur de systèmes de fichiers pour le projet d’installation
Le projet d’installation doit déployer ExcelAddIn. Vous pouvez configurer le projet d’installation pour cette tâche en ajoutant la sortie du projet ExcelAddIn au projet d’installation.
Pour ajouter la sortie du projet ExcelAddIn
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur OfficeAddInSetup, cliquez sur Ajouter , puis Sortie du projet.
Dans la boîte de dialogue Ajouter un groupe de sortie de projet , sélectionnez ExcelAddIn dans la liste des projets et La sortie primaire.
Cliquez sur OK pour ajouter la sortie du projet au projet d’installation.
Figure 2 : Boîte de dialogue Configurer le groupe de sortie de projet Ajouter un projet
Le projet d’installation doit déployer le manifeste de déploiement et le manifeste d’application. Ajoutez ces deux fichiers au projet d’installation en tant que fichiers autonomes à partir du dossier de sortie du projet ExcelAddIn.
Pour ajouter les manifestes de déploiement et d’application
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur OfficeAddInSetup, cliquez sur Ajouter, puis cliquez sur Fichier.
Dans la boîte de dialogue Ajouter des fichiers , accédez au répertoire de sortie ExcelAddIn . En règle générale, le répertoire de sortie est le sous-dossier bin\rsous-dossier elease du répertoire racine du projet, en fonction de la configuration de build sélectionnée.
Sélectionnez ExcelAddIn.vsto et ExcelAddIn.dll.manifest, puis cliquez sur Ouvrir pour ajouter ces deux fichiers au projet de configuration.
Figure 3 : Manifestes d’application et de déploiement pour le complément dans l’Explorateur de solutions
Faire référence à ExcelAddIn inclut tous les composants dont ExcelAddIn a besoin. Ces composants doivent être exclus et déployés à l’aide de packages prérequis pour leur permettre d’être enregistrés correctement. En outre, les termes du contrat de licence logiciel doivent être affichés et acceptés avant le début de l’installation.
Pour exclure les dépendances du projet ExcelAddIn
Dans l’Explorateur de solutions, dans le nœud OfficeAddInSetup , sélectionnez tous les éléments de dépendance sous l’élément Dépendances détectés , à l’exception de Microsoft .NET Framework ou d’un assembly qui se termine par *.Utilities.dll. Les assemblys d’utilitaires sont destinés à être déployés avec votre application.
Cliquez avec le bouton droit sur le groupe et sélectionnez Propriétés.
Dans la fenêtre Propriétés , remplacez la propriété Exclude par True pour exclure les assemblys dépendants du projet d’installation. Veillez à ne pas exclure d’assemblies d’utilitaires.
Figure 4 : Exclusion des dépendances
Vous pouvez configurer votre package Windows Installer pour installer les composants requis en ajoutant un programme d’installation, également appelé programme d’amorçage. Ce programme d’installation peut installer les composants requis, un processus appelé démarrage.
Pour ExcelAddIn, ces prérequis doivent être installés avant que le complément puisse s’exécuter correctement :
- Version de Microsoft .NET Framework cible par la solution Office.
- Outils Microsoft Visual Studio 2010 pour Office Runtime.
Pour configurer des composants dépendants en tant que prérequis
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet OfficeAddInSetup et sélectionnez Propriétés.
La boîte de dialogue Pages de propriétés OfficeAddInSetup s’affiche.
Cliquez sur le bouton Prérequis .
Dans la boîte de dialogue Prérequis, sélectionnez la version correcte du .NET Framework et microsoft Visual Studio Tools pour Office Runtime.
Figure 5 : Boîte de dialogue Prérequis
Note
Certains des packages prérequis configurés dans votre projet d’installation de Visual Studio dépendent de la configuration de build sélectionnée. Vous devez sélectionner les composants requis appropriés pour chaque configuration de build que vous utilisez.
Microsoft Office localise les compléments à l’aide de clés de Registre. Les clés de la ruche HKEY_CURRENT_USER sont utilisées pour inscrire le complément pour chaque utilisateur individuel. Les clés sous la ruche HKEY_LOCAL_MACHINE sont utilisées pour enregistrer le complément pour tous les utilisateurs de l'ordinateur. Pour plus d’informations sur les clés de Registre, consultez les entrées de Registre pour les compléments VSTO.
Pour configurer le Registre
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur OfficeAddInSetup.
Développez l’affichage.
Cliquez sur Registre pour ouvrir la fenêtre de l’éditeur de Registre.
Dans l’éditeur Registry(OfficeAddInSetup), développez HKEY_LOCAL_MACHINE , puis Software.
Supprimez la clé [Fabricant] trouvée sous HKEY_LOCAL_MACHINE\Software.
Développez HKEY_CURRENT_USER , puis Software.
Supprimez la clé [Fabricant] trouvée sous HKEY_CURRENT_USER\Software.
Pour ajouter des clés de Registre pour l’installation du complément, cliquez avec le bouton droit sur la clé Hive utilisateur/machine , sélectionnez Nouvelle clé. Utilisez le texte Software pour le nom de la nouvelle clé. Cliquez avec le bouton droit sur la clé logicielle nouvellement créée et créez une clé avec le texte Microsoft.
Utilisez un processus de création similaire pour établir l'intégralité de la hiérarchie de clés requise pour l'enregistrement de l'extension.
Utilisateur/Machine Hive\Software\Microsoft\Office\Excel\Addins\SampleCompany.ExcelAddIn
Le nom de la société est souvent utilisé comme préfixe pour le nom du complément afin d'assurer son unicité.
Cliquez avec le bouton droit sur la clé SampleCompany.ExcelAddIn , sélectionnez Nouveau, puis cliquez sur Valeur de chaîne. Utilisez la description textuelle du nom.
Utilisez cette étape pour ajouter trois valeurs supplémentaires :
- FriendlyName de type String
- LoadBehavior de type DWORD
- Manifeste de type String
Cliquez avec le bouton droit sur la valeur Description dans l’éditeur de Registre, puis cliquez sur Fenêtre Propriétés. Dans la fenêtre Propriétés, entrez Excel Demo AddIn pour la propriété Value.
Sélectionnez la clé FriendlyName dans l’éditeur de Registre. Dans la fenêtre Propriétés, remplacez la propriété Value par Excel Demo AddIn.
Sélectionnez la clé LoadBehavior dans l’éditeur de Registre. Dans la fenêtre Propriétés, remplacez la propriété Valeur par 3. La valeur 3 pour LoadBehavior indique que le complément doit être chargé au démarrage de l’application hôte. Pour plus d’informations sur le comportement de chargement, consultez les entrées de Registre pour les compléments VSTO.
Sélectionnez la clé manifeste dans l’éditeur de Registre. Dans la fenêtre Propriétés, remplacez la propriété Value par file:///[TARGETDIR]ExcelAddIn.vsto|vstolocal
Figure 6 : Configuration des clés de Registre
Le runtime VSTO utilise cette clé de Registre pour localiser le manifeste de déploiement. La macro [TARGETDIR] est remplacée par le dossier dans lequel le complément est installé. La macro inclut le caractère \ de fin. Par conséquent, le nom de fichier du manifeste de déploiement doit être ExcelAddIn.vsto sans le caractère \. Le postfix vstolocal indique au runtime VSTO que le complément doit être chargé à partir de cet emplacement au lieu du cache ClickOnce. La suppression de ce suffixe entraînera la copie de la personnalisation dans le cache ClickOnce.
Avertissement
Vous devez être très prudent avec l’éditeur de Registre dans Visual Studio. Par exemple, si vous définissez accidentellement DeleteAtUninstall pour la clé incorrecte, vous pouvez supprimer une partie active du Registre, en laissant l’ordinateur utilisateur dans un état incohérent, voire pire, rompu.
Les versions 64 bits d’Office utilisent la ruche de Registre 64 bits pour rechercher des compléments. Pour inscrire des compléments sous la ruche de Registre 64 bits, la plateforme cible du projet d’installation doit être définie sur 64 bits uniquement.
- Sélectionnez le projet OfficeAddInSetup dans l’Explorateur de solutions.
- Accédez à la fenêtre Propriétés et définissez la propriété TargetPlatform sur x64.
L’installation d’un complément pour les versions 32 bits et 64 bits d’Office vous oblige à créer deux packages MSI distincts. Un pour 32 bits et un pour 64 bits.
Figure 7 : Plateforme cible pour l’inscription de compléments avec Office 64 bits
Si le package MSI est utilisé pour installer le complément ou la solution, il peut être installé sans les prérequis requis. Vous pouvez utiliser les conditions de lancement dans msi pour empêcher l’installation du complément si les conditions préalables ne sont pas installées.
Configurer une condition de lancement pour détecter le runtime VSTO
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur OfficeAddInSetup.
Développez l’affichage.
Cliquez sur Conditions de lancement.
Dans l’éditeur Conditions de lancement (OfficeAddInSetup), cliquez avec le bouton droit sur Configuration requise sur l’ordinateur cible, puis cliquez sur Ajouter une condition de lancement du Registre. Cette condition de recherche peut rechercher dans le Registre une clé installée par le runtime VSTO. La valeur de la clé est ensuite disponible pour les différents éléments du programme d’installation via une propriété nommée. La condition de lancement utilise la propriété définie par la condition de recherche pour rechercher une certaine valeur.
Dans l’éditeur Conditions de lancement (OfficeAddInSetup), sélectionnez la condition de recherche Search for RegistryEntry1 , cliquez avec le bouton droit sur la condition, puis sélectionnez Fenêtre Propriétés.
Dans la fenêtre Propriétés , définissez ces propriétés :
- Définissez la valeur (Name) sur Search for VSTO 2010 Runtime.
- Remplacez la valeur de La propriété par VSTORUNTIMEREDIST.
- Définir la valeur de RegKey sur SOFTWARE\Microsoft\VSTO Runtime Setup\v4R
- Laissez la propriété Racine définie sur vsdrrHKLM.
- Remplacez la propriété Value par Version.
Dans l’éditeur Conditions de lancement (OfficeAddInSetup), sélectionnez la condition de lancement Condition1 , cliquez avec le bouton droit sur la condition, puis sélectionnez Fenêtre Propriétés.
Dans la fenêtre Propriétés, définissez ces propriétés :
Définissez le paramètre (Nom) sur Vérifier la disponibilité du runtime VSTO 2010.
Remplacez la valeur de la condition par VSTORUNTIMEREDIST>="10.0.30319 »
Laissez la propriété InstallURL vide.
Définissez le message sur Les outils Visual Studio 2010 pour Office Runtime ne sont pas installés. Veuillez exécuter Setup.exe pour installer le complément.
Figure 8 : Fenêtre des propriétés pour la condition de lancement de vérification de la disponibilité de l'environnement d'exécution
La condition de lancement ci-dessus vérifie explicitement la présence du runtime VSTO lorsqu’il est installé par le package de programme d’amorçage.
Configurer une condition de lancement pour détecter le runtime VSTO installé par Office
Dans l’éditeur Conditions de lancement (OfficeAddInSetup), cliquez avec le bouton droit sur Rechercher la machine cible, puis cliquez sur Ajouter une recherche dans le Registre.
Sélectionnez la condition de recherche RegistryEntry1 , cliquez avec le bouton droit sur la condition, puis sélectionnez Fenêtre Propriétés.
Dans la fenêtre Propriétés , définissez ces propriétés :
- Définissez la valeur (Name) sur Search for Office VSTO Runtime.
- Remplacez la valeur de Propriété par OfficeRuntime.
- Définissez la valeur de RegKey sur SOFTWARE\Microsoft\VSTO Runtime Setup\v4.
- Laissez la propriété Racine définie sur vsdrrHKLM.
- Remplacez la propriété Value par Version.
Dans l’éditeur Conditions de lancement (OfficeAddInSetup), sélectionnez la condition de lancement de la disponibilité VSTO 2010 Runtime définie précédemment, cliquez avec le bouton droit sur la condition, puis sélectionnez Fenêtre Propriétés.
Remplacez la valeur de la propriété Condition par VSTORUNTIMEREDIST >="10.0.30319 » OR OFFICERUNTIME>="10.0.21022 ». Les numéros de version peuvent être différents pour vous en fonction des versions du runtime requises par votre complément.
Figure 9 : Propriétés Windows pour la vérification de la disponibilité de l'environnement d'exécution via Redist ou la condition de lancement d'Office
Si un complément cible .NET Framework 4 ou version ultérieure, les types à l’intérieur des assemblys PIA (Primary Interop Assemblys), référencés, peuvent être incorporés dans l’assembly VSTO.
Pour vérifier si les types d’interopérabilité seront incorporés dans votre complément, suivez les étapes suivantes :
- Développer le nœud Références dans l’Explorateur de solutions
- Sélectionnez l’une des références PIA, par exemple , Office.
- Affichez les fenêtres de propriétés en appuyant sur F4 ou en sélectionnant Propriétés dans le menu contextuel Assemblys.
- Vérifiez la valeur de la propriété Incorporer des types d’interopérabilité.
Si la valeur est définie sur True, les types sont incorporés et vous pouvez passer à la section Pour générer le projet d’installation .
Pour plus d’informations, consultez Équivalence de type et Types d’interopérabilité incorporés
Pour configurer les conditions de lancement afin de détecter les PIAs Office
Dans l’éditeur Conditions de lancement (OfficeAddInSetup), cliquez avec le bouton droit sur Configuration requise sur l’ordinateur cible, puis cliquez sur Ajouter une condition de lancement de Windows Installer. Cette condition de lancement recherche un PIA Office en recherchant l’ID de composant spécifique.
Cliquez avec le bouton droit sur Rechercher le composant1 , puis cliquez sur Fenêtre Propriétés pour afficher les propriétés de la condition de lancement.
Dans la fenêtre Propriétés, définissez ces propriétés :
- Modifiez la valeur de la propriété (Name) pour Rechercher l’Office Shared PIA
- Remplacez la valeur de ComponentID par l’ID de composant pour le composant Office que vous utilisez. Vous trouverez la liste des ID de composant dans le tableau ci-dessous, par exemple {64E2917E-AA13-4CA4-BFFE-EA6EDA3AFCB4}.
- Remplacez la valeur de la propriété Property par HASSHAREDPIA.
Dans l’éditeur Conditions de lancement (OfficeAddInSetup), cliquez avec le bouton droit sur Condition1 , puis cliquez sur Fenêtre Propriétés pour afficher les propriétés de la condition de lancement.
Modifiez ces propriétés de Condition1 :
- Changez le (nom) à Vérifiez la disponibilité des PIA partagés d’Office.
- Remplacez la condition par HASSHAREDPIA.
- Laissez InstallUrl vide.
- La modification du composant Message en un composant obligatoire pour interagir avec Excel n’est pas disponible. Exécutez setup.exe.
Figure 10 : Fenêtre Propriétés pour la vérification de la condition de lancement d’Office Shared PIA
IDs de composants des assemblies d'interopérabilité principaux pour Microsoft Office
| Assembly d’interopérabilité principale | Office 2010 | Office 2013 | Office 2013 (64 bits) | Office 2016 | Office 2016 (64 bits) |
|---|---|---|---|---|---|
| Excel | {EA7564AC-C67D-4868-BE5C-26E4FC2223FF} | {C8A65ABE-3270-4FD7-B854-50C8082C8F39} | {E3BD1151-B9CA-4D45-A77E-51A6E0ED322A} | {C845E028-E091-442E-8202-21F596C559A0} | {C4ACE6DB-AA99-401F-8BE6-8784BD09F003} |
| InfoPath | {4153F732-D670-4E44-8AB7-500F2B576BDA} | {0F825A16-25B2-4771-A497-FC8AF3B355D8} | {C5BBD36E-B320-47EF-A512-556B9CB7E41} | - | - |
| Outlook | {1D844339-3DAE-413E-BC13-62D6A52816B2} | {F9F828D5-9F0B-46F9-9E3E-9C59F3C5E136} | {7824A03F-28CC-4371-BC54-93D15EFC1E7F} | {2C6C511D-4542-4E0C-95D0-05D406032F2} | {7C6D92EF-7B45-46E5-8670-819663220E4E} |
| PowerPoint | {EECBA6B8-3A62-44AD-99EB-8666265466F9} | {813139AD-6DAB-4DDD-8C6D-0CA30D073B41} | {05758318-BCFD-4288-AD8D-81185841C235} | {9E73CEA4-29D0-4D16-8FB9-5AB17387C960} | {E0A76492-0FD5-4EC2-8570-AE1BAA61DC88} |
| Visio | {3EA123B5-6316-452E-9D51-A489E06E2347} | {C1713368-12A8-41F1-ACA1-934B01AD6EEB} | {2CC0B221-22D2-4C15-A9FB-DE818E51AF75} | {A4C55BC1-B94C-4058-B15C-B9D4AE540AD1} | {2D4540EC-2C88-4C28-AE88-2614B5460648} |
| Mot | {8B74A499-37F8-4DEA-B5A0-D72FC501CEFA} | {9FE736B7-B1EE-410C-8D07-082891C3DAC8} | {13C07AF5-B206-4A48-BB5B-B8022333E3CA} | {30CAC893-3CA4-494C-A5E9-A99141352216} | {DC5CCACD-A7AC-4FD3-9F70-9454B5DE5161} |
| Microsoft Forms 2.0 | {B2279272-3FD2-434D-B94E-E4E0F8561AC4} | {B2279272-3FD2-434D-B94E-E4E0F8561AC4} | {A5A30117-2D2A-4C5C-B3C8-8897AC32C2AC} | - | - |
| Microsoft Graph | {011B9112-EBB1-4A6C-86CB-C2FDC9EA7B0E} | {52DA4B37-B8EB-4B7F-89C1-824654CE4C70} | {24706F33-F0CE-4EB4-BC91-9E935394F510} | - | - |
| Balise intelligente | {7102C98C-EF47-4F04-A227-FE33650BF954} | {487A7921-EB3A-4262-BB5B-A5736B732486} | {74EFC1F9-747D-4867-B951-EFCF29F51AF7} | - | - |
| Bureau partagé | {64E2917E-AA13-4CA4-BFFE-EA6EDA3AFCB4} | {6A174BDB-0049-4D1C-86EF-3114CB0C4C4E} | {76601EBB-44A7-49EE-8DE3-7B7B9D7EBB05} | {68477CB0-662A-48FB-AF2E-9573C92869F7} | {625F5772-C1B3-497E-8ABE-7254EDB00506} |
| Projet | {957A4EC0-E67B-4E86-A383-6AF7270B216A} | {1C50E422-24FA-44A9-A120-E88280C8C341} | {706D7F44-8231-489D-9B25-3025ADE9F114} | {0B6EDA1D-4A15-4F88-8B20-EA6528978E4E} | {107BCD9A-F1DC-4004-A444-33706FC10058} |
Figure 11 : Conditions de lancement finales
Vous pouvez affiner davantage les conditions de lancement de l’installation d’ExcelAddIn. Par exemple, il peut être utile de vérifier si l’application Office cible réelle est installée.
Pour construire le projet d’installation
- Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet OfficeAddInSetup , puis cliquez sur Générer.
- À l’aide de l’Explorateur Windows, accédez au répertoire de sortie du projet OfficeAddInSetup et accédez au dossier Release ou Debug, en fonction de la configuration de build sélectionnée. Copiez tous les fichiers du dossier vers un emplacement auquel les utilisateurs peuvent accéder.
Pour tester la configuration d’ExcelAddIn
- Accédez à l’emplacement dans lequel vous avez copié OfficeAddInSetup .
- Double-cliquez sur le fichier setup.exe pour installer le complément OfficeAddInSetup . Acceptez les termes du contrat de licence logiciel qui s’affichent et terminez l'assistant d'installation pour installer le complément sur l'ordinateur de l'utilisateur.
La solution Excel Office doit installer et s’exécuter à partir de l’emplacement spécifié lors de l’installation.
Exigences supplémentaires pour les solutions au niveau du document
Le déploiement de solutions au niveau du document nécessite quelques étapes de configuration différentes dans le projet d’installation de Windows Installer.
Voici une liste des étapes de base requises pour déployer une solution au niveau du document :
- Créez le projet d’installation de Visual Studio.
- Ajoutez la sortie principale de votre solution au niveau du document. La sortie principale inclut également le document Microsoft Office.
- Ajoutez les manifestes de déploiement et d’application sous forme de fichiers libres.
- Excluez les composants dépendants du package d’installation (à l’exception des assemblys d’utilitaires).
- Configurez les packages requis.
- Configurez les conditions de lancement.
- Générez le projet d’installation et copiez les résultats vers l’emplacement de déploiement.
- Déployez la solution au niveau du document sur l’ordinateur utilisateur en exécutant la configuration.
- Mettez à jour les propriétés de document personnalisées si nécessaire.
Modification de l’emplacement du document déployé
Les propriétés à l’intérieur d’un document Office sont utilisées pour localiser les solutions au niveau du document. Si le document est installé dans le même dossier que l’assembly VSTO, aucune modification n’est requise. Toutefois, s’il est installé dans un autre dossier, ces propriétés doivent être mises à jour pendant l’installation.
Pour plus d’informations sur ces propriétés de document, consultez Vue d’ensemble des propriétés de document personnalisées.
Pour modifier ces propriétés, vous devez utiliser une action personnalisée pendant l’installation.
L’exemple suivant utilise une solution au niveau du document appelée ExcelWorkbookProject et un projet d’installation appelé ExcelWorkbookSetup. Le projet ExcelWorkbookSetup est configuré à l’aide des mêmes étapes décrites ci-dessus, à l’exception de la définition des clés de Registre.
Pour ajouter le projet d’action personnalisé à votre solution Visual Studio
Ajouter un nouveau projet console .NET à la solution en cliquant avec le bouton droit sur le projet de déploiement de documents Office dans l’Explorateur de solutions
Développez Ajouter et cliquez sur Nouveau projet.
Sélectionnez le modèle d’application console et nommez le projet AddCustomizationCustomAction.
Figure 12 : Explorateur de solutions - AddCustomizationCustomAction
Ajoutez une référence à ces assemblies :
- System.ComponentModel
- System.Configuration.Install
- Microsoft.VisualStudio.Tools.Applications
- Microsoft.VisualStudio.Tools.Applications.ServerDocument
Copiez ce code dans Program.cs ou Program.vb
using System;
using System.IO;
using System.Collections;
using System.ComponentModel;
using System.Configuration.Install;
using Microsoft.VisualStudio.Tools.Applications;
using Microsoft.VisualStudio.Tools.Applications.Runtime;
namespace AddCustomizationCustomAction
{
[RunInstaller(true)]
public class AddCustomizations : Installer
{
public AddCustomizations() : base() { }
public override void Install(IDictionary savedState)
{
base.Install(savedState);
//Get the CustomActionData Parameters
string documentLocation = Context.Parameters.ContainsKey("documentLocation") ? Context.Parameters["documentLocation"] : String.Empty;
string assemblyLocation = Context.Parameters.ContainsKey("assemblyLocation") ? Context.Parameters["assemblyLocation"] : String.Empty;
string deploymentManifestLocation = Context.Parameters.ContainsKey("deploymentManifestLocation") ? Context.Parameters["deploymentManifestLocation"] : String.Empty;
Guid solutionID = Context.Parameters.ContainsKey("solutionID") ? new Guid(Context.Parameters["solutionID"]) : new Guid();
string newDocLocation = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), Path.GetFileName(documentLocation));
try
{
//Move the file and set the Customizations
if (Uri.TryCreate(deploymentManifestLocation, UriKind.Absolute, out Uri docManifestLocationUri))
{
File.Move(documentLocation, newDocLocation);
ServerDocument.RemoveCustomization(newDocLocation);
ServerDocument.AddCustomization(newDocLocation, assemblyLocation,
solutionID, docManifestLocationUri,
true, out string[] nonpublicCachedDataMembers);
}
else
{
LogMessage("The document could not be customized.");
}
}
catch (ArgumentException)
{
LogMessage("The document could not be customized.");
}
catch (DocumentNotCustomizedException)
{
LogMessage("The document could not be customized.");
}
catch (InvalidOperationException)
{
LogMessage("The customization could not be removed.");
}
catch (IOException)
{
LogMessage("The document does not exist or is read-only.");
}
}
public override void Rollback(IDictionary savedState)
{
base.Rollback(savedState);
DeleteDocument();
}
public override void Uninstall(IDictionary savedState)
{
base.Uninstall(savedState);
DeleteDocument();
}
private void DeleteDocument()
{
string documentLocation = Context.Parameters.ContainsKey("documentLocation") ? Context.Parameters["documentLocation"] : String.Empty;
try
{
File.Delete(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), Path.GetFileName(documentLocation)));
}
catch (Exception)
{
LogMessage("The document doesn't exist or is read-only.");
}
}
private void LogMessage(string Message)
{
if (Context.Parameters.ContainsKey("LogFile"))
{
Context.LogMessage(Message);
}
}
static void Main() { }
}
}
Pour ajouter la personnalisation au document, vous devez disposer de l’ID de solution de votre solution au niveau du document VSTO. Cette valeur est récupérée à partir du fichier projet Visual Studio.
Pour récupérer l’ID de solution
Dans le menu Générer , cliquez sur Générer la solution pour générer la solution au niveau du document et ajouter la propriété ID de solution au fichier projet.
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet excelWorkbookProject au niveau du document
Cliquez sur UnloadProject pour accéder au fichier projet à partir de Visual Studio.
Figure 13 : Déchargement de la solution de document Excel
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur ExcelWorkbookProject , puis cliquez sur EditExcelWorkbookProject.vbproj ou Edit ExcelWorkbookProject.csproj.
Dans l’éditeur ExcelWorkbookProject , recherchez l’élément SolutionID à l’intérieur de l’élément PropertyGroup .
Copiez la valeur GUID de cet élément.
Figure 14 : Récupération de l’ID de solution
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur ExcelWorkbookProject , puis cliquez sur Recharger le projet.
Cliquez sur Oui dans la boîte de dialogue qui s’affiche pour fermer l’éditeur ExcelWorkbookProject .
L’ID de solution sera utilisé dans l’action d’installation personnalisée.
La dernière étape consiste à configurer l’action personnalisée pour les étapes d’installation et de désinstallation .
Pour configurer le projet d’installation
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur ExcelWorkbookSetup, développez Ajouter et cliquez sur Sortie du projet.
Dans la boîte de dialogue Ajouter un groupe de sortie de projet, dans la liste Projet, cliquez sur AddCustomizationCustomAction.
Sélectionnez Sortie principale , puis cliquez sur OK pour fermer la boîte de dialogue et ajouter l’assembly contenant l’action personnalisée au projet d’installation.
Figure 15 : Action personnalisée du manifeste de document - Ajouter un groupe de sorties de projet
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur ExcelWorkbookSetup.
Développez Affichage , puis cliquez sur Actions personnalisées.
Dans l’éditeur Actions personnalisées (ExcelWorkbookSetup), cliquez avec le bouton droit sur Actions personnalisées , puis cliquez sur Ajouter une action personnalisée.
Dans la boîte de dialogue Sélectionner un élément dans le projet , dans la liste Rechercher , cliquez sur Dossier d’application. Sélectionnez Sortie principale dans AddCustomizationCustomAction(active), puis cliquez sur OK pour ajouter l’action personnalisée à l’étape d’installation.
Sous le nœud Installer, cliquez avec le bouton droit sur La sortie principale de AddCustomizationCustomAction(Active), puis cliquez sur Renommer. Nommez le document d’action personnalisé Copier le document dans Mes documents et joignez la personnalisation.
Sous le nœud Désinstaller, cliquez avec le bouton droit sur La sortie principale de AddCustomizationCustomAction(Active), puis cliquez sur Renommer. Nommez l’action personnalisée Supprimer le document du dossier Documents.
Figure 16 : Actions personnalisées du manifeste de document
Dans l’éditeur Actions personnalisées (ExcelWorkbookSetup), cliquez avec le bouton droit sur Copier le document dans Mes documents et joignez la personnalisation , puis cliquez sur Fenêtre Propriétés.
Dans la fenêtre PropriétésCustomActionData, entrez l’emplacement de la DLL de personnalisation, le manifeste de déploiement et l’emplacement du document Microsoft Office. Le SolutionID est également nécessaire.
Si vous souhaitez consigner des erreurs d’installation dans un fichier, incluez un paramètre LogFile. s
/assemblyLocation="[INSTALLDIR]ExcelWorkbookProject.dll" /deploymentManifestLocation="[INSTALLDIR]ExcelWorkbookProject.vsto" /documentLocation="[INSTALLDIR]ExcelWorkbookProject.xlsx" /solutionID="Your Solution ID" /LogFile="[TARGETDIR]Setup.log"
Figure 17 : Action personnalisée pour copier le document dans mes documents
L’action personnalisée pour la désinstallation a besoin du nom du document, vous pouvez le fournir à l’aide du même paramètre documentLocation dans CustomActionData
/documentLocation="[INSTALLDIR]ExcelWorkbookProject.xlsx"Compilez et déployez le projet ExcelWorkbookSetup .
Recherchez dans le dossier Mes documents et ouvrez le fichier ExcelWorkbookProject.xlsx.
Ressources additionnelles
Guide pratique pour installer Visual Studio Tools pour Office Runtime
Assemblies d’interopérabilité principaux Office
Entrées de Registre pour les compléments VSTO
Vue d’ensemble des propriétés de document personnalisées
Spécification de zones de formulaire dans le Registre Windows
Octroi d’une approbation aux documents
À propos des auteurs
Wouter van Vugt est un MVP Microsoft avec des technologies Office Open XML et un consultant indépendant qui se concentre sur la création d’applications d’entreprise Office (OBA) avec SharePoint, Microsoft Office et les technologies .NET associées. Wouter est un contributeur fréquent aux sites de la communauté des développeurs tels que MSDN. Il a publié plusieurs livres blancs et articles ainsi qu’un livre disponible en ligne intitulé Open XML : Explained e-book. Wouter est le fondateur de Code-Counsel, une société néerlandaise qui se concentre sur la fourniture de contenu technique de pointe via divers canaux. Vous pouvez en savoir plus sur Wouter en lisant son blog.
Ted Pattison est un MVP SharePoint, auteur, formateur et fondateur de Ted Pattison Group. À l’automne 2005, Ted a été embauché par le groupe Developer Platform Evangelism de Microsoft pour créer le programme de formation croissant des développeurs pour Windows SharePoint Services 3.0 et Microsoft Office SharePoint Server 2007. Depuis ce temps, Ted s’est entièrement concentré sur l’éducation des développeurs professionnels sur les technologies SharePoint 2007. Ted a terminé d’écrire un livre pour Microsoft Press intitulé Inside Windows SharePoint Services 3.0 qui se concentre sur la façon d’utiliser SharePoint comme plateforme de développement pour créer des solutions métier. Ted écrit également une colonne axée sur les développeurs pour MSDN Magazine intitulé Office Space.