Déploiement d'une solution VSTO à l'aide de Windows Installer
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 la déployer à 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 les compléments et les solutions. Toutefois, il ne peut pas installer des compléments qui requièrent des privilèges administratifs tels que les compléments au niveau de l’ordinateur.
Les compléments qui requièrent des privilèges administratifs peuvent être installés à l’aide de Windows Installer, mais leur configuration demande plus d’efforts.
Pour obtenir une vue d’ensemble du déploiement d’une solution VSTO à l’aide de ClickOnce, consultez Déployer une solution Office à l’aide de ClickOnce.
Déploiement de solutions Office qui ciblent le runtime VSTO
Les packages ClickOnce et Windows Installer doivent réaliser les mêmes tâches rudimentaires lors de l’installation d’une solution Office.
- Installez les composants prérequis sur l’ordinateur de l’utilisateur.
- Déployez les composants spécifiques pour la solution.
- Pour les compléments VSTO, créez des entrées de registres.
- Approuvez la solution pour permettre son exécution.
Composants prérequis sur l’ordinateur cible
Voici la liste des logiciels à installer sur l’ordinateur pour exécuter des solutions VSTO :
- Microsoft Office 2010 ou version plus récente.
- Microsoft .NET Framework 4 ou version plus récente.
- Microsoft Visual Studio 2010 Tools 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 assemblys d’interopérabilité de base pour Microsoft Office, si vous n’utilisez pas de types d’interopérabilité incorporés.
- Tous les assemblys 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 au niveau du document.
- L’assembly de personnalisation et tous les assemblys qu’il requiert.
- Composants supplémentaires, tels que les fichiers de configuration.
- Les manifestes de l’application (.manifest).
- Le manifeste de déploiement (.vsto).
Entrées de registre pour les compléments
Microsoft Office utilise des entrées de registre pour trouver 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 Entrées de registre pour compléments VSTO.
Les compléments Outlook qui affichent des zones de formulaire personnalisées requièrent des entrées de registre supplémentaires permettant d’identifier les zones de formulaire. Pour plus d'informations sur les entrées de registre, consultez Entrées de registre pour zones de formulaire Outlook.
Les solutions au niveau du document ne requièrent aucune entrée de registre. Au lieu de cela, les propriétés à l’intérieur du document sont utilisées pour trouver la personnalisation. Pour plus d'informations sur ces propriétés, consultez Vue d’ensemble des propriétés personnalisées des documents.
Approbation de la solution VSTO
Pour l’exécution d’une personnalisation, l’ordinateur doit approuver la solution. 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 à 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 l’approbation 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 Configuration de la sécurité de la liste d’inclusion.
Si aucune option n’est utilisée, une invite d’approbation s’affiche pour l’utilisateur afin de lui permettre de déterminer s’il faut approuver la solution.
Pour plus d’informations sur la sécurité liée aux solutions au niveau du document, consultez Approbation des documents.
Création d’un programme d’installation de base
Les modèles de projets d’installation et de déploiement sont inclus dans l’extension Projets du programme d’installation de Microsoft Visual, disponible pour son téléchargement.
Pour créer un programme d’installation pour une solution Office, les tâches suivante doivent être complétées :
- Ajoutez les composants de la solution Office à déployer.
- Pour les compléments au niveau de l’application, configurez les clés de registre.
- Configurez les composants prérequis afin de permettre leur installation sur les ordinateurs des utilisateurs finaux.
- Configurez les conditions de lancement pour vérifier que les composants prérequis sont disponibles. Les conditions de lancement peuvent être utilisées pour bloquer l’installation si tous les composants prérequis ne sont pas installés.
La première étape consiste à créer le projet d’installation.
Pour créer le projet d’installation des compléments
- Ouvrez le projet de complément Office que vous souhaitez déployer. Pour cet exemple, nous utilisons un complément Excel appelé ExcelAddIn.
- Avec le projet Office ouvert, dans le menu Fichier, développez Ajouter et cliquez sur Nouveau projet pour ajouter un nouveau projet.
- Dans la boîte de dialogue Ajouter un nouveau projet, sélectionnez le modèle Installer le projet.
- Sélectionnez Suivant.
- Dans la case Nom, tapez OfficeAddInSetup.
- Cliquez sur Créer pour créer le nouveau projet d’installation.
Visual Studio ouvre le navigateur de fichiers pour le nouveau projet d’installation. Le navigateur de fichiers vous permet d’ajouter des fichiers au projet d’installation.
Figure 1 : navigateur de fichiers pour le projet d’installation
Le projet d’installation requiert le déploiement d’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, puis cliquez sur Ajouter et ensuite cliquez sur Sortie du projet.
Dans la boîte de dialogue Ajouter un groupe de sortie du projet, sélectionnez ExcelAddIn, puis sélectionnez la sortie principale.
Cliquez sur OK pour ajouter la sortie du projet au projet d’installation.
Figure 2 : boîte de dialogue Ajouter un groupe de sortie, du projet d’installation
Le projet d’installation doit déployer le manifeste de déploiement et le manifeste de l’application. Ajoutez ces deux fichiers au projet d’installation en tant que fichiers autonomes à partir du dossier de sortie du projet ExcelAddIn.
Ajouter les manifestes d'application et de déploiement
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur OfficeAddInSetup, puis cliquez sur Ajouter et ensuite cliquez sur Fichier.
Dans la boîte de dialogue Ajouter des fichiers, accédez au répertoire de sortie ExcelAddIn . Généralement, le répertoire de sortie est le sous-dossier bin\release du répertoire racine du projet, selon la configuration de build que vous choisissez.
Sélectionnez les fichiers ExcelAddIn.vsto et ExcelAddIn.dll.manifest, puis cliquez sur Ouvrir pour ajouter ces deux fichiers au projet d’installation.
Figure 3 : manifestes de déploiement et d’application pour le complément dans Explorateur de solutions
La référence d’ExcelAddIn inclut tous les composants requis par ExcelAddIn. Ces composants doivent être exclus et déployés à l’aide de packages prérequis, pour permettre leur enregistrement correct. En outre, les termes du contrat de licence logiciel doivent être affichés et acceptés avant de lancer l’installation.
Pour exclure les dépendances de 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ées, à l’exception de Microsoft .NET Framework ou des assemblys qui se terminent par *.Utilities.dll. Les assemblys 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. Assurez-vous de n’exclure aucun assembly utilitaire.
Figure 4 : exclusion des dépendances
Vous pouvez configurer votre package Windows Installer pour installer les composants prérequis en ajoutant un programme d’installation, également appelé programme d’amorçage. Ce programme d’installation peut installer les composants prérequis, un processus appelé programme d’amorçage.
Pour ExcelAddIn, ces composants prérequis doivent être installés avant que le complément puisse s’exécuter correctement :
- Version de Microsoft .NET Framework ciblée par votre solution Office.
- Outils Microsoft Visual Studio 2010 pour le runtime Office.
Configurer les composants dépendants comme éléments prérequis
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet OfficeAddInSetup, puis sélectionnez Propriétés.
La boîte de dialogue Pages de propriétés OfficeAddInSetup s’affiche.
Cliquez sur le bouton Éléments prérequis.
Dans la boîte de dialogue Éléments prérequis, sélectionnez la version correcte de .NET Framework et du runtime Microsoft Visual Studio Tools pour Office.
Figure 5 : boîte de dialogue Éléments prérequis
Remarque
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 prérequis appropriés pour chaque configuration de build que vous utilisez.
Microsoft Office trouve des compléments à l’aide des clés de registre. Les clés de la hive HKEY_CURRENT_USER sont utilisées pour enregistrer le complément de chaque utilisateur individuel. Les clés sous la hive HKEY_LOCAL_MACHINE sont utilisées pour enregistrer le complément de tous les utilisateurs de l’ordinateur. Pour plus d'informations sur les clés de registre, consultez Entrées de registre pour compléments VSTO.
Configurer le registre
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur OfficeAddInSetup.
Développez Vue.
Cliquez sur Registre pour ouvrir la fenêtre de l’éditeur de registre.
Dans l’éditeur Registry(OfficeAddInSetup), développez HKEY_LOCAL_MACHINE, puis Logiciel.
Supprimez la clé du [fabricant] qui se trouve sous HKEY_LOCAL_MACHINE\Software.
Développez HKEY_CURRENT_USER, puis Logiciel.
Supprimez la clé du [fabricant] qui se trouve 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, puis sélectionnez Nouvelle clé. Utilisez le logiciel de texte 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 similaire pour créer la totalité de la hiérarchie de clés requise pour l’enregistrement du complément :
User/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 de le rendre unique.
Cliquez avec le bouton droit sur la clé SampleCompany.ExcelAddIn, puis sélectionnez Nouveau, et ensuite cliquez sur Valeur de chaîne. Utilisez la description du texte pour le nom.
Utilisez cette étape pour ajouter trois valeurs supplémentaires :
- FriendlyName de type chaîne
- LoadBehavior de type DWORD
- Manifeste de type chaîne
Cliquez avec le bouton droit sur la valeur Description dans l’éditeur du registre, puis cliquez sur la fenêtre Propriétés. Dans la fenêtre Propriétés, saisissez Excel Demo AddIn pour la propriété Valeur.
Sélectionnez la clé FriendlyName dans l’éditeur du registre. Dans la fenêtre Propriétés, remplacez la propriété Valeur par Excel Demo AddIn.
Sélectionnez la clé LoadBehavior dans l’éditeur du 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 les valeurs de LoadBehavior, consultez Entrées de registre pour compléments VSTO.
Sélectionnez la clé Manifeste dans l’éditeur du registre. Dans la fenêtre Propriétés, remplacez la propriété Valeur par file:///[TARGETDIR]ExcelAddIn.vsto|vstolocal.
Figure 6 : configuration des clés de registre
Le runtime VSTO utilise cette clé de registre pour trouver 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 postfix entraîne la copie par runtime de la personnalisation dans le cache ClickOnce.
Avertissement
Vous devez être très prudent avec l’éditeur du 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 de l’utilisateur dans un état incohérent, voire cassé.
Les versions 64 bits d’Office utiliseront la hive de registre de 64 bits pour rechercher des compléments. Pour enregistrer des compléments sous la hive de registre de 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 requiert la création de deux packages MSI différents. Un package pour 32 bits et un autre pour 64 bits.
Figure 7 : plateforme cible pour l’enregistrement de compléments avec Office de 64 bits
Si le package MSI est utilisé pour installer le complément ou la solution, il peut être installé avant l’installation des éléments prérequis. Vous pouvez utiliser les conditions de lancement dans le MSI pour bloquer l’installation du complément si les éléments prérequis ne sont pas installés.
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 Vue.
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 alors 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 vérifier une certaine valeur.
Dans l’éditeur Conditions de lancement (OfficeAddInSetup), sélectionnez la condition de recherche Rechercher RegistryEntry1, cliquez avec le bouton droit sur la condition, puis sélectionnez la fenêtre Propriétés.
Dans la fenêtre Propriétés , définissez les propriétés suivantes :
- Définissez la valeur de (Name) sur Rechercher le runtime VSTO 2010.
- Remplacez la valeur de Propriété par VSTORUNTIMEREDIST.
- Définissez la valeur de RegKey sur Installation\v4R du runtime SOFTWARE\Microsoft\VSTO.
- Laissez les jeux de propriété Racine définis sur vsdrrHKLM.
- Remplacez la propriété Valeur 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 la fenêtrePropriétés.
Dans la fenêtre Propriétés , définissez les propriétés suivantes :
Définissez le (Name) 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 le runtime Office ne sont pas installés. Exécutez Setup.exe pour installer le complément.
Figure 8 : fenêtre Propriétés pour la condition de lancement Vérifier la disponibilité du runtime
La condition de lancement ci-dessus vérifie explicitement la présence du runtime VSTO lorsqu’il est installé par le package du 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 de registre.
Sélectionnez la condition de recherche Rechercher RegistryEntry1, cliquez avec le bouton droit sur la condition, puis sélectionnez la fenêtre Propriétés.
Dans la fenêtre Propriétés , définissez les propriétés suivantes :
- Définissez la valeur de (Name) sur Rechercher le runtime VSTO Office.
- Remplacez la valeur de Propriété par OfficeRuntime.
- Définissez la valeur de RegKey sur Installation\v4 du runtime SOFTWARE\Microsoft\VSTO.
- Laissez les jeux de propriété Racine définis sur vsdrrHKLM.
- Remplacez la propriété Valeur par Version.
Dans l’éditeur Conditions de lancement (OfficeAddInSetup), sélectionnez la condition de lancement Vérifier la disponibilité du runtime VSTO 2010 définie précédemment, cliquez avec le bouton droit sur la condition, puis sélectionnez la 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 en fonction des versions du runtime requises par votre complément.
Figure 9 : fenêtre Propriétés pour la vérification de la disponibilité du runtime via un package redistribuable ou une condition de lancement Office
Si un complément cible .NET Framework 4 ou version plus récente, les types à l’intérieur des assemblys d’interopérabilité de base (PIA) 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 en réalisant les étapes suivantes :
- Développez 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 des propriétés en appuyant sur F4 ou en sélectionnant Propriétés dans le menu local 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 directement à la section 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 cela pour les PIA
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 Component1, puis cliquez sur la 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 les propriétés suivantes :
- Remplacez la valeur de la propriété (Name) par Rechercher PIA Office partagé.
- Remplacez la valeur de ComponentID par l’ID de composant du 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é Propriété par HASSHAREDPIA.
Dans l’éditeur Conditions de lancement (OfficeAddInSetup), cliquez avec le bouton droit sur Condition1, puis cliquez sur la fenêtre Propriétés pour afficher les propriétés de la condition de lancement.
Modifiez les propriétés de Condition1 :
- Remplacez le (Name) par Vérifier la disponibilité de PIA Office partagés.
- Remplacez la Condition par HASSHAREDPIA.
- Laissez InstallUrl vide.
- Remplacez le Message par Un composant nécessaire pour interagir avec Excel n’est pas disponible. Exécutez setup.exe.
Figure 10 : fenêtre Propriétés de la condition de lancement Vérifier PIA Office partagés
ID des composants des assemblys d’interopérabilité de base pour Microsoft Office
Assembly d’interopérabilité de base | 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-556B99CB7E41} | - | - |
Outlook | {1D844339-3DAE-413E-BC13-62D6A52816B2} | {F9F828D5-9F0B-46F9-9E3E-9C59F3C5E136} | {7824A03F-28CC-4371-BC54-93D15EFC1E7F} | {2C6C511D-4542-4E0C-95D0-05D4406032F2} | {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} |
Word | {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} | - | - |
Étiquette active | {7102C98C-EF47-4F04-A227-FE33650BF954} | {487A7921-EB3A-4262-BB5B-A5736B732486} | {74EFC1F9-747D-4867-B951-EFCF29F51AF7} | - | - |
Office 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} |
Project | {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 du complément Excel. Par exemple, il peut être utile de vérifier si l’application Office cible actuelle est installée.
Générer 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 à l’annuaire de sortie du projet OfficeAddInSetup, puis accédez au dossier Libérer ou déboguer, en fonction de la configuration de build sélectionnée. Copiez tous les fichiers du dossier dans un emplacement accessible aux utilisateurs.
Pour tester la configuration du complément Excel
- 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 complétez l’Assistant Installation pour installer le complément sur l’ordinateur utilisateur.
La solution Excel Office doit être installée et exécutée à 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 demande quelques étapes de configuration différentes dans le projet d’installation de Windows Installer.
Voici une liste des étapes de base requises dans le déploiement d’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 d'application et déploiement comme des fichiers indépendants.
- Excluez les composants dépendants du package du programme d’installation (à l’exception des assemblys utilitaires).
- Configurez les packages prérequis.
- Configurez les conditions de lancement.
- Générez le projet d’installation et copiez les résultats dans 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 du 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 trouver des 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 les propriétés du document, consultez Vue d’ensemble des propriétés du 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é en suivant les mêmes étapes décrites ci-dessus, à l’exception de la définition des clés de registre.
Ajouter le projet d’action personnalisée a votre solution Visual Studio
Ajoutez un nouveau projet de 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 de console et nommez le projet AddCustomizationCustomAction.
Figure 12 : Explorateur de solutions ; AddCustomizationCustomAction
Ajoutez une référence à ces assemblys :
- 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 du 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é de l’ID de solution au fichier projet.
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet au niveau du document ExcelWorkbookProject.
Cliquez sur UnloadProject pour accéder au fichier projet depuis Visual Studio.
Figure 13 : déchargement en cours de la solution de document Excel
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur ExcelWorkbookProject, et puis cliquez sur Modifier ExcelWorkbookProject.vbproj ou sur Modifier ExcelWorkbookProject.csproj.
Dans l’éditeur ExcelWorkbookProject, recherchez l’élément SolutionID à l’intérieur de l’élément PropertyGroup.
Définissez 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 Installer et Désinstaller.
Pour configurer le projet d’installation
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur ExcelWorkbookSetup, développez Ajouter, puis cliquez sur Sortie du projet.
Dans la boîte de dialogue Ajouter un groupe de sortie de projet, dans la liste des Projets, cliquez sur AddCustomizationCustomAction.
Sélectionnez Sortie principale, puis cliquez sur OK pour fermer la boîte de dialogue et ajouter l’assembly qui contient 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 d’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 Sortie principale d’AddCustomizationCustomAction(active), puis cliquez sur Renommer. Nommez l’action personnalisé Copier le document dans Mes documents et attacher la personnalisation.
Sous le nœud Désinstaller, cliquez avec le bouton droit sur Sortie principale d’AddCustomizationCustomAction(active), puis cliquez sur Renommer. Nommez l’action personnalisée Supprimer le document dans le 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 attacher la personnalisation, puis cliquez sur la fenêtre Propriétés.
Dans la fenêtre Propriétés de CustomActionData, entrez l'emplacement de la DLL de personnalisation, le manifeste de déploiement et l'emplacement du document Microsoft Office. L’ID de solution 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 et 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 complémentaires
Installation du runtime Visual Studio Tools pour Office
Office Primary Interop Assemblies
Entrées de registre pour les compléments VSTO
Custom Document Properties Overview
Spécification de zones de formulaire dans le registre Windows
À propos des auteurs
Wouter van Vugt est un Microsoft MVP des technologies ouvertes XML Office et il est un consultant indépendant qui se concentre sur la création d’applications métier Office (OBA) avec SharePoint, Microsoft Office et les technologies .NET associées. Wouter contribute fréquemment 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 appelé « 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 à travers différents canaux. Vous pouvez en savoir plus sur Wouter en lisant son blog.
Ted Pattison est MVP de SharePoint, auteur, formateur et fondateur de Ted Pattison Group. À l’automne 2005, Ted a été embauché par la plateforme de développeurs Microsoft du groupe Evangelism pour créer le programme de formation Ascend pour développeurs pour Windows SharePoint Services 3.0 et Microsoft® Office SharePoint® Server 2007. Depuis lors, 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 d’entreprise. Ted écrit également une colonne axée sur les développeurs pour MSDN Magazine intitulée Office Space.