Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Thomas Lebrun

Tout sur WPF, LINQ, C# et .NET en général !

[VSTO] Déployez facilement vos addins Office grâce à ClickOnce et Visual Studio 2008 !

Voila un bon moment que je ne vous avais pas parlé de VSTO (Visual Studio Tools for Office) Smile Et bien, voici un petit article qui, si vous avez déjà déployez des addins Office, devrait vous faire grandement plaisir !

En effet, que ce soit pour Office 2003 ou même Office 2007, le déploiement d'addins Office avec Visual Studio 2005 n'est jamais simples: il faut s'assurer que l'addin a bien les droits FullTrust (il faut donc penser à créer, lors de l'installation, une Custom Action), etc.... Bref, on y arrivait, au moyen d'articles trouvé sur la MSDN ou autre, mais ce n'était jamais avec une grande joie que l'on décidait de se lancer dans un projet de ce type.

Heureusement, avec Visual Studio 2008, Microsoft facilite grandement cette tâche qu'est le déploiement d'addins Office. En effet, vous allez tout à fait être à même d'utiliser une technologie de déploiement qui existe déjà depuis l'apparaition de Visual Studio 2005: ClickOnce (si vous ne connaissez pas ClickOnce, alors jettez donc un oeil sur mon article).

Comment cela marche-t-il ? C'est très simple et c'est ce que nous allons voir tout de suite !

Après avoir développé votre addin Office, faîtes un clic droit sur votre projet puis sélectionnez "Properties":

Cliquez ensuite sur l'onglet nommé "Publish" et vous vous retrouvez alors sur un écran que vous connaissez sans doute déjà, si vous avez déjà manipulez ClickOnce:

Le premier champ qui apparait ("Publishing Folder Location") vous permet d'indiquer où est-ce que vous désirez publier votre application: répertoire partagé, site Web, serveur FTP, etc..). Ici, nous allons partir du principe que nous sommes dans un Intranet: nous allons donc utilisé un répertoire partagé (bien sur, ce répertoire aura été créé et partagé avant de finir cette procédure):

Dans le champs suivant ("Installation Folder URL"), indiquez également le nom du répertoire partagé que vous avez créé. Dans mon cas, je me retrouve donc avec quelque chose comme ceci:

Vous avez ensuite la possibilité de définir plusieurs options:

  • Les pré-requis nécessaires pour votre addin
  • La fréquence des mises à jour

Cliquez sur le bouton "Prerequisites..." et sur la fenêtre qui apparait, vous pouvez constater que tout ce qu'il faut pour exécuter votre addin est déjà coché: Windows Installer 3.1, .NET Framework 3.5 et Microsoft Visual Studio Tools for Office Runtime 3.0. Cependant, si votre addin nécessite un pré-requis supplémentaire, libre à vous de le sélectionner:

Cliquez à présent sur le bouton "Updates...". Dans la fenêtre qui s'ouvre, vous avez la possibilité d'indiquer à quelle fréquence l'application doit vérifier si une mise à jour est disponible (et oui, c'est aussi ca l'une des forces de ClickOnce):

Cliquez alors sur le bouton "Publish Now": Visual Studio recompile alors votre solution et lance le déploiement à l'endroit que vous lui avez indiqué:

Une fois le déploiement terminé, le message "Publish succeeded": nous allons donc pouvoir voir ce qui a été déposé lors de la publication.

Si l'on jettre un coup d'oeil dans le répertoire utilisé pour la publication, on constate que plusieurs fichiers et répertoires sont présents:

  • un répertoire comportant le nom de votre addin suivit du numéro de version: en effet, lors d'un déploiement ClickOnce, il y a un répertoire créé par version de l'addin
  • un répertoire nommé "VSTOR30": vous y trouverez la fichier d'installation du Microsoft Visual Studio Tools for Office Runtime 3.0
  • un fichier "setup.exe": utiliser pour vérifier si les pré-requis sont installés (et le cas échéant, les télécharger puis les installer)
  • un fichier portant le nom de votre addin suivit de l'extension vsto: c'est le fichier qui permet de lancer la dernière version publiée de l'addin
  • un fichier portant le nom de votre addin puis le numéra de version suivit de l'extension vsto: c'est le fichier qui permet de lancer l'installation d'une version spécifique de l'addin.

Si on ouvre un des fichiers .vsto dans un éditeur de texte, on constate qu'il ne s'agit en fait que d'un manifest (fichier XML) dans lequel on trouve différentes informations telles que le numéro de version de l'addin, le nom de la DLL correspondant à votre addin, etc... :

Maintenant, voyons un peu comment fonctionne l'installation de cet addin. Pour être franc, c'est très simple: il vous suffit de double-cliquer sur le fichier "setup.exe": celui-ci va alors vérifier la présence des pré-requis nécessaires et, s'ils ne sont pas installés, il va alors les télécharger:

Une fois les composants téléchargés et installés, l'installation de l'addin commence:

 

En fait, il faut savoir que cette installation de l'addin peut-être fait simplement en double-cliquant sur le fichier .vsto ne portant pas de numéro de version: ainsi, vous êtes sur d'installer la dernière version de votre addin. Lancer le ficiher setup.exe ne sert qu'à détecter la présence des pré-requis et à les installer, le cas échéant !

Pour vérifier que l'addin que vous avez développé est bien installé, rien de plus simple: lancez l'application Office que vous avez "customisé" avec cet addin et regardez si la modification que vous avez effectué apparait bien:

Dans le centre de confiance ("Trust Center") de votre application Office, vous pouvez également voir que votre addin est activé:

 

Et voila, votre addin est déployé sans problèmes, grâce à ClickOnce, les mises à jour sont automatiques et vous n'avez plus à vous compliquer la vie avec des problèmes de droits, de sécurité ou autre: elle est pas belle la vie ? Big Smile

 

J'espère que cet article vous aura plût Wink

 

A+

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: lundi 17 septembre 2007 11:10 par Thomas LEBRUN
Classé sous : , ,

Commentaires

neodante a dit :

La seule bonne nouvelle : des heures en moins à configurer et paramétrer toute cette usine sans le double article de MS structuré un peu rapidement (enfin si visuellement vous trouvez une structure sur le fond et la forme je m'incline).

La seule vraie question : à quand cela sans ClickOnce ? ClickOnce est à .NET ce que Java Web Start est à la plateforme Java, autant dire pas quelque chose de très répandue dans les déploiements ni dans les moeurs ;-)

Même si cela n'est pas une nouveauté, on appréciera le geste après une (trop ?) grande attente.

# septembre 17, 2007 14:37

Matthieu MEZIL a dit :

Julien je te rouve bien dur.

Perso je trouve que c'est une très bonne chose et je remercie Thomas de nous en faire profiter.

# septembre 18, 2007 11:11
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- [Refactoring] ReSharper pour Visual Studio 2010 (Preview) par Thomas Jaskula le il y a 10 heures et 36 minutes

- [Refactoring] Analyser vos exceptions avec ReSharper Exceptional par Thomas Jaskula le il y a 11 heures et 50 minutes

- SharePoint 2007 : patterns & practices SharePoint Guidance par Philippe Sentenac [MVP SharePoint] le 07-03-2009, 09:56

- [Visual Studio 2010] Les tests cases c’est bien, mais je vais devoir tout réécrire ? par Etienne Margraff le 07-03-2009, 09:00

- MVP[Gribouillon].AddYear par The Grib's Lair [Sébastien PICAMELOT - MVP SharePoint] le 07-03-2009, 08:45

- Clinique INSIA - Projet de fin d’Etudes (Silverlight 3 MVVM et OutOfBrowser, WCF, TFS) - Part 1 par David REI le 07-02-2009, 23:38

- C’est la crise ? Bah pourquoi cramer du budget pub alors ? par Nix's Blog le 07-02-2009, 15:31

- Soyons MVP ! par TheSaib .NET blog le 07-02-2009, 12:15

- SharePoint : Gestion des Erreurs 6398, 7076 et 6482 par Blog Technique de Romelard Fabrice le 07-02-2009, 11:53

- EF avec WPF par Matthieu MEZIL le 07-02-2009, 10:18