Licence CC BY-SA

Mise en place

Nous allons voir ici comment déployer un logiciel avec ClickOnce. Nous n'utiliserons que les fonctionnalités « simples » de l'outil et ne nous attarderons pas à apprendre comment l'utiliser de manière avancée.

ClickOnce est bien fait. :magicien:
Vous pouvez distribuer votre application ClickOnce via beaucoup de supports, à savoir un répertoire en réseau, un site web ou même un CD-ROM ou un DVD (on les utilise encore ? :o ).

Vous avez donc l'embarras du choix. Une fois que vous avez décidé quel support utiliser, passez à la suite du tutoriel. :)

Et si je veux en utiliser plusieurs, c'est possible ?

Bien sûr ! Il vous suffira de recommencer ce que nous verrons ensuite en enregistrant les fichiers générés à un autre endroit.

Il me semble nécessaire de définir quelques points de vocabulaire :

  • Quand je parlerai de logiciel, ce sera notre logiciel, celui qu'on a codé et que l'on veut déployer ;
  • Quand je parlerai d'application, ça sera l'application ClickOnce, celle que l'on configurera ici.

Publication de l'application ClickOnce

Après un travail acharné, j'ai réalisé un petit logiciel de test, afin de vous vous montrer comment utiliser ClickOnce :

Application Windows Forms de test


Allez, c'est parti. Nous allons publier notre logiciel avec ClickOnce. Pour ce faire, trois moyens :

  • Utiliser l'assistant publication est la manière la plus simple, et par conséquent celle que nous explorerons ici ;
  • La page « publier » des paramètres du projet nous permet d'arriver au même résultat ;
  • On peut enfin créer les fichiers à la main, mais je ne suis pas masochiste.

Nous allons donc utiliser l'assistant publication. Pour y accéder, allez dans l'explorateur de solutions (Solution Explorer), cliquez-droit sur votre projet puis ouvrez ses paramètres. Allez dans l'onglet Publish et lancez l'assistant publication (Publish Wizard).

Accès à l'assistant publication

Dans la page 1, on vous demandera de renseigner le répertoire de publication de l'application. C'est ici que seront enregistrés les fichiers de votre application ClickOnce. On y trouvera aussi une page web de téléchargement très basique, servant d'exemple.
Vous avez plusieurs choix de répertoires :

  • un répertoire sur un disque local comme C:\publication par exemple ;
  • un répertoire en réseau, sous la forme \\NOM_DU_SERVEUR\publication ou \\192.168.0.3\publication par exemple ;
  • un répertoire FTP, comme ftp://192.168.0.3/publication.

Je le répète : ce chemin n'est pas celui qu'utiliseront les utilisateurs pour récupérer votre application. C'est juste un répertoire où l'installeur sera enregistré.

Page 1 de l'assistant publication

C'est dans la page 2 que vous spécifierez par quel moyen vous distribuerez l'application ClickOnce.

Vous avez cette fois le choix entre :

  • un site internet : spécifiez dans ce cas l'URL de la page à partir de laquelle sera téléchargée l'application, comme http://mon_application_clickonce.com/téléchargement par exemple ;
  • un chemin UNC, c'est-à-dire un répertoire en réseau, sous la forme \\NOM_DU_SERVEUR\publication ou \\192.168.0.3\publication par exemple ;
  • un CD-ROM ou un DVD.

Page 2 de l'assistant publication

Dans la page 3 vous devrez choisir si cette application sera en ligne ou hors ligne. Une application en ligne télécharge le logiciel à chaque lancement et requiert donc une connexion internet pour fonctionner. Une application hors-ligne sauvegarde le logiciel sur le disque dur de l'utilisateur, et l'affiche dans le menu Démarrer.

Si vous avez choisi CD-ROM ou DVD à la page précédente, vous devrez aussi spécifier une adresse web depuis laquelle l'application sera en ligne. Le disque récupérera le logiciel depuis cette adresse.
Vous pouvez bien-sûr choisir de la rendre compètement hors-ligne également. Dans ce cas, vous ne pourrez pas distribuer de mises à jour.

Page 3 de l'assistant publication


C'est terminé !

Appuyez sur « Terminer » et votre programme d'installation ClickOnce sera sauvegardé, à l'emplacement spécifié précédemment. Génial, non ? :D

Dans la partie suivante, nous verrons comment mettre l'installeur ClickOnce à disposition des utilisateurs.

Mise à disposition de l'application ClickOnce

Dans la partie précédente, nous avons généré les fichiers de notre application ClickOnce. Explorons-les.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
│   publish.htm
│   setup.exe
│   Test_ClickOnce.application
│
└───Application Files
    └───Test_ClickOnce_1_0_0_0
            Test_ClickOnce.application
            Test_ClickOnce.exe.config.deploy
            Test_ClickOnce.exe.deploy
            Test_ClickOnce.exe.manifest

Regardons à quoi servent chacun de ces fichiers :

  • publish.htm : la page web à partir de laquelle vos utilisateurs téléchargeront l'application. Vous pouvez la personnaliser à votre guise si vous la trouvez, comme moi, assez moche ;
  • setup.exe : l'installeur des pré-requis. Par défaut, il s'agit de la version du .NET Framework que vous utilisez. Si vous regardez la page publish, vous remarquerez qu'elle est liée à cet installeur ;
  • Test_ClickOnce.application : le manifeste de notre application ClickOnce. C'est lui qui sera téléchargé et lancé par l'utilisateur ;
  • Sous-dossiers de Application Files : toutes les versions du logiciel publié.

Si vous voulez tester, vous pouvez lancer l'application ClickOnce. Ça ressemble à ça :

Pour la suite, c'est simple:

  • Si vous voulez rendre votre application disponible depuis un dossier partagé, copiez l'installeur ClickOnce à cet endroit ;
  • Si vous voulez la mettre en ligne, uploadez tout le répertoire et faites un lien vers l'installeur ClickOnce ;
  • Enfin, si utilisez encore les CD-ROM/DVD, gravez le répertoire dessus. Vous pouvez faire que l'installeur se lance automatiquement lors de l'insertion du disque (voir la section « Paramètres basiques » de cette partie).

Si vous utilisez un serveur non-IIS pour distribuer votre application, n'oubliez pas de rajouter les types MIME liés à ClickOnce ; le cas échéant votre application ne se lancera pas en « un seul clic ». Il vous faudra ajouter ces types :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# Types MIME obligatoires
.application –> application/x-ms-application
.manifest –> application/x-ms-manifest
.deploy –> application/octet-stream
.msp –> application/octet-stream
.msu –> application/octet-stream

# Si votre application utilise les outils Visual Studio pour Office (VSTO)
.vsto –> application/x-ms-vsto

# Si votre application utilise WPF
.xaml –> application/xaml+xml
.xbap –> application/x-ms-xbap

Par exemple, si vous avez Apache, ajoutez ces lignes à votre .htaccess :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# Types MIME obligatoires
AddType application/x-ms-application application
AddType application/x-ms-manifest manifest
AddType application/octet-stream deploy
AddType application/octet-stream msp
AddType application/octet-stream msu

# Si votre application utilise les outils Visual Studio pour Office (VSTO)
AddType application/x-ms-vsto vsto

# Si votre application utilise WPF
AddType application/xaml+xml xaml
AddType application/x-ms-xbap xbap

Paramètres basiques

Nous ne verrons une fois de plus que les paramètres « basiques » proposés. Si vous voulez customizer votre application ClickOnce à fond, c'est dans la prochaine partie. :)

Vous vous souvenez du déploiement de notre première application ? Nous étions allé dans les paramètres du projet, puis nous étions allé dans l'onglet Publish des paramètres. Eh bien c'est exactement là que se trouvent les paramètres de l'application.

Rendez-vous à cet endroit, et différentes options s'offriront à vous :

  • En haut, l'emplacement des fichiers de publication (Publishing Folder Location) ;
  • Juste en dessous, l'URL où l'utilisateur téléchargera l'application ;
  • Et enfin, si l'application est en ligne/hors ligne.

Ces paramètres peuvent vous permettre de corriger les éventuelles erreurs que vous avez commises dans l'assistant publication.

Gestion des mises à jour

Nous allons nous atteler à la gestion des mises à jour dans ClickOnce.
En plus d'être très bien gérées (ClickOnce ne télécharge que les fichiers mis à jour par exemple) les mises à jour sont très simples à déployer.

Développez votre mise à jour, revenez dans le menu Publish, choisissez la nouvelle version de votre application puis cliquez sur le bouton Publish Now. Les fichiers ClickOnce seront mis à jour et vous devrez les uploader à nouveau sur votre site.
Si on les regarde de nouveau, on se rend compte qu'un nouveau dossier est apparu dans notre répertoire « Application Files », contenant les nouveaux fichiers de notre version.

Changement des paramètres

C'est tout ?

Oui. C'est tout. C'était assez simple, non ? :D

Vous pouvez aussi choisir quand et comment les applications sont mises à jour. Pour ce faire, ouvrez la boite de dialogue Updates et vous pourrez paramétrer quand l'application les recherche. Et si vous avez le souci de l'obsolescence, vous pouvez aussi choisir la version minimum requise pour pouvoir effectuer les mises à jour.

Fenêtre de gestion de la stratégie de mise à jour


C'est bon ! Vous êtes fin prêts à déployer votre application sur ClickOnce. :D
Cette partie du tutoriel suffira à bon nombre de personnes, mais si vous voulez encore plus (signer votre manifeste, créer votre propre installeur ClickOnce, définir des stratégies de mise à jour, etc) la partie suivante est pour vous.