Site: | Cours VB.net |
D 1.2 | Distribution d' une application. |
Comment distribuer un programme VB.NET ?
Il faut la "déployer".
Introduction.
A - Avant de publier
B - Installation simple
C - Exemple Windows Installer en VB 2003
D - Exemple ClickOnce en VB 2005
Introduction:
Mise à part l'installation hyper simple, Visual Studio fournit deux stratégies différentes pour le déploiement (installation du logiciel chez l'utilisateur.) d'applications Windows :
Avec le déploiement Windows Installer, vous empaquetez l'application dans un fichier setup.exe et distribuez ce fichier aux utilisateurs ; ceux-ci exécutent le fichier Setup.exe pour installer l'application.
Les fichiers du programme d'installation peuvent être distribués sur des disquettes ou des CD-ROM, ou peuvent être placés sur un lecteur réseau pour une installation sur un réseau.
Pour déployer une application, vous créez d'abord un projet d'installation et définissez les propriétés du projet.
Ce mode de déploiement est disponible en VB 2003 (c'est le seul d'ailleurs en VB 2003) et en VB 2005 et 2008 (sauf pour le version Express)
Voir ci dessous un exemple en VB 2003.
Avec le déploiement ClickOnce, c'est très simple vous publiez l'application à un emplacement centralisé et l'utilisateur l'installe ou l'exécute à partir de cet emplacement.
Les applications déployées avec ClickOnce se mettent à jour automatiquement et représentent le meilleur choix pour les applications exigeant des modifications fréquentes.
Vous utilisez l'Assistant Publication pour empaqueter votre application et la publier sur un site Web ou un partage de fichiers réseau ; l'utilisateur installe et lance directement l'application à partir de cet emplacement en une seule étape.
Ce mode de déploiement est disponible en VB 2005 et vb 2008 (c'est le seul dans la version Express).
Voir ci dessous un exemple en VB 2005.
A - Avant de 'Publier':
A - ATTENTION:
Avant de publier votre programme, assurez-vous que vous l'avez testé et qu'il s'exécute sans erreur.
B - On peut choisir le mode Release ou le mode Debug.En VB 2003, en haut de la fenêtre de l'IDE il y a une liste déroulante elle contient
Release. (à utiliser pour générer la version à distribuer)
Debug (à utiliser pour générer une version à tester)
En VB 2005, si vous choisissez les paramètres de développement Visual Basic, l'outil qui permet de choisir entre la configuration Debug et Release n'apparaît pas dans la barre d'outils. Visual Studio choisit automatiquement la configuration Debug lorsque vous cliquez sur Démarrer dans le menu Débogueur et la configuration Release lorsque vous utilisez le menu Générer
On peut utiliser une constante nommé DEBUG qui aura la valeur True si on est en mode Debug.
Cela permet d'écrire:
#If Debug Then
Stop
#End If
Ici Stop se produira uniquement si on est en mode Debug; en mode Release, il n'y aura pas d'arrêt.
C - Puis, il faut générer en utilisant le Menu Générer-> Générer la Solution.
Le programme exécutable ainsi crée se trouve dans le répertoire \bin.
B - Comment installer simplement un programme chez l'utilisateur?
S'il s'agit d'un programme exe simple isolé, sans dll ou avec des dll locales non partagées par d'autres programmes: on peut l'installer 'à la main'.
Pour utiliser le programme, l'utilisateur lance l'exécutable.
On peut créer un raccourci permettant de lancer le programme: dans l'explorateur, cliquer sur le fichier.exe, puis click droit, cela ouvre un menu, cliquer sur 'Créer un raccourci'. Ensuite ce raccourci peut être déplacé sur le bureau par drag and drop.
Cette méthode ne prend pas en compte les composants, dll partagées avec d'autres applications. Il faut plutôt créer un programme d'installation qui est nécessaire dans les autres cas.
C - Créer un programme d'installation classique en VB 2003 par exemple
(de type Windows Installer):
Le déploiement avec un programme d'installation traditionnel peut être effectué à l'aide de la technologie Windows Installer. Avec le déploiement Windows Installer, vous empaquetez l'application dans un fichier setup.exe et distribuez ce fichier aux utilisateurs ; ceux-ci exécutent le fichier Setup.exe pour installer l'application.
Pour cela, vous devez ajoutez un projet d'installation à votre solution et définir les propriétés du projet de déploiement afin de créer un fichier d'installation distribué aux utilisateurs . Les fichiers du programme d'installation peuvent être distribués sur des supports traditionnels, comme les disquettes ou les CD-ROM, ou peuvent être placés sur un lecteur réseau pour une installation sur un réseau.
Pour un déploiement via des supports traditionnels, vous copiez les fichiers à partir de l'emplacement de génération vers une disquette ou autre support.
L'utilisateur lance Setup.exe qui est sur un cd d'installation et ce programme installe le logiciel.
Voyons cela dans VB 2003:
Pour cela il faut créer un projet de configuration et déploiement, en modifier certaines propriétés puis le générer.
Menu Fichiers->Ajouter un projet->Nouveau Projet-> Cliquez dans la liste sur 'Projet de configuration et de déploiement.' puis sur l'icône 'Assistant de configuration'.
Il faut vérifier en bas de la fenêtre 'Ajouter un nouveau projet' le chemin.
Suivez les divers écrans en vous rappelant que vous utilisez une application Windows en sortie principale, n'oubliez pas de rajouter si nécessaire certains fichiers (les fichiers de données nécessaires ).
Après le bouton 'Terminez', il est ajouté dans la fenêtre de l'explorateur de solution une ligne nommé par défaut 'Setup1' correspondant au projet de l'installateur. Il est crée un onglet 'Système de fichiers' dans la fenêtre principale.
Vous venez de créer votre projet de configuration et déploiement, vous pouvez maintenant le modifier.
Le fait de cliquer sur le 'dossier d'application' ou sur sur ligne dans l'explorateur de solution affiche dans la fenêtre de propriétés, les propriétés de l'installation.
La propriété DefaultLocation donne par exemple l'emplacement, le répertoire d'installation. Il y a bien d'autres propriétés permettant de personnaliser votre installateur (Auteur, nom de l'entreprise, Version...)
Enfin quand on clique sur Setup1 dans l'explorateur de solutions, il apparaît des boutons donnant accès à des éditeurs de registre, de d'interface de l'installateur, de condition de lancement..
Si on clique sur le 3eme bouton on ouvre l'éditeur d'interface qui donne accès au déroulement de l'installateur. En cliquant sur la première fenêtre ('Bienvenue') on a accès aux propriétés de cette fenêtre: texte, image..
Pour créer effectivement l'installateur il faudra enregistrer puis utiliser le Menu Générer-> Générer Setup1.
Un répertoire nommé dans notre exemple 'SeptUp1' est crée; il contient
Setup.exe
Setup1.msi
Setup.ini
il suffit de mettre ces fichiers sur un cd et de le donner à l'utilisateur final qui installera votre logiciel en lançant Setup.exe.
Le logiciel d'installation vérifie si le FrameWork est bien installé.
D - Créer un programme d'installation 'ClickOnce' en en VB 2005
(ou VB 2008):Avec le déploiement
ClickOnce, vous publiez l'application à un emplacement centralisé et l'utilisateur l'installe ou l'exécute à partir de cet emplacement. ClickOnce se base sur le protocole HTTP pour effectuer les installations ou les mises à jour.L'emplacement centralisé peut-être une page WEB.
Les applications déployées avec ClickOnce se mettent à jour automatiquement et représentent le meilleur choix pour les applications exigeant des modifications fréquentes.
Avec ClickOnce, vous utilisez l'Assistant Publication pour empaqueter votre application et la publier sur un site Web ou un partage de fichiers réseau ; l'utilisateur installe et lance directement l'application à partir de cet emplacement en une seule étape.
Exemple d'installation à partir d'un CD-ROM sans mise à jour:
- Lancer l'assistant de publication:
Une fois que vous êtes prêt à le publier( code vérifié, génération effectuée), vous pouvez lancer l'Assistant Publication en sélectionnant la commande Publier dans le menu Générer.
L'Assistant Publication comprend trois étapes :
- La première étape consiste à sélectionner l'emplacement où vous souhaitez placer le programme d'installation et tous les fichiers associés. Si vous publiez votre programme sur un CD-ROM, sélectionnez un dossier sur votre disque local. (Vous graverez ensuite ce dossier sur le CD-ROM).
(publish\ crée un répertoire sous les sources (au même niveau que le répertoire bin )
- La deuxième étape consiste à spécifier la manière dont les utilisateurs installeront votre programme ; dans le cas présent, à partir d'un CD-ROM.
- L'étape finale implique le fait de spécifier si votre programme vérifie ou non automatiquement à chaque démarrage la présence d'une version plus récente.
- Puis cliquez sur le bouton 'Terminer'.
Quand tout est terminé, cela ouvre une fenêtre montrant le contenu du répertoire \publish:
Il y a
Setup.exe
listgénéric.application
listgénéric_1_0_0_0.application
et un répertoire 'listgénéric_1_0_0_0'
listgénéric.exe.deploy
listgénéric.exe.manifest
Exemple d'installation à partir d'un Site WEB avec mise à jour automatique:
L''Assistant Publication' s'exécute.
Dans la page Où souhaitez-vous publier l'application ? entrez l'URL du site Web où vous souhaitez publier votre programme. Par exemple, http://www.mysite.com/myprogram.
Attention |
---|
Pour publier votre programme sur un serveur Web, ce dernier doit exécuter IIS (Internet Information Services), les extensions FrontPage doivent être installées, et vous devez disposer de privilèges d'administration dans IIS. |
Dans la page suivante de l'Assistant.
Sur la page L'application sera-t-elle disponible hors connexion ?, sélectionnez Oui, cette application est disponible en ligne ou hors connexion, la valeur par défaut.
L'application peut être accessible que de façon online (retélechargée à chaque fois) ou de façon offline, téléchargée, installée et accessible via le menu Démarrer
Cliquez sur Terminer pour publier le programme.
Le programme est publié sur le site Web spécifié, et une page HTML est créée.
Sur un autre ordinateur, ouvrez Internet Explorer, naviguez jusqu'à l'URL saisie auparavant, puis cliquez sur le lien Installer pour installer le programme.
Configuration avancée du projet de déploiement.
Nous allons modifier plein de choses avant de déployer:
Veuillez ouvrir le panneau des propriétés de votre projet (menu Projet > Propriétés de nomdeprogramme ou double-cliquer sur MyProjet dans la fenêtre d'explorateur de solution) .
Signer le projet:
Cliquez sur l'onglet signature puis sur la case 'Signer les manifestes CliclOnce'.
Activer la Sécurité:
Onglet sécurité, activer les paramètres de sécurité.
Onglet publier:
Pour indiquer l'emplacement de la publication, si l'application est disponible en ligne ou hors connexion (installée).
Si on coche la case incrémenter.. cela incrémente automatiquement les versions.
4 boutons donnent accès :
Au fichier d'application.
Au composant requis
Au 'mise à jour':
Aux options de publication:
On peut ensuite utiliser les boutons qui sont en bas:
Bouton 'Assistant de publication' et 'Publier maintenant'.
Ajouter enlever des fichiers.
- Comment ajouter les fichiers publiés via ClickOnce:
Tous les fichiers du projet qui ne contiennent pas de code sont déployés avec l'application.
Il suffirait donc d'inclure dans le projet des fichiers de données et ils seraient inclus!! A voir, je ne sais pas comment faire.
Les fichiers d'une application ClickOnce sont ensuite gérés dans la boîte de dialogue Fichiers d'application, accessible à partir de la page Publier du Concepteur de projets. Dans la fenêtre de l'explorateur de solutions à droite, double-cliquer sur 'MyProjet' puis sur l'onglet Publier enfin sur le bouton 'Fichiers d'application'.
Exclure un fichier
Dans la boîte de dialogue Fichiers d'application, sélectionnez le fichier que vous souhaitez exclure.
Dans le champ État de la publication, sélectionnez Exclure dans la liste déroulante.
Fichier de données:
Dans le champ État de la publication, sélectionnez Fichier de données dans la liste déroulante.
Composant requis:
Dans la boîte de dialogue Fichiers d'application, sélectionnez l'assembly d'application (fichier .dll) que vous souhaitez marquer comme composant requis. Notez que votre application doit posséder une référence à l'assembly d'application pour figurer dans la liste.
Dans le champ État de la publication, sélectionnez Composant requis dans la liste déroulante.
Comment cela se passe chez celui qui installe?
Par exemple il faut installer le programme chiffreromain, il a un CD avec les fichiers
Setup.exe
chiffreromain.application
chiffreromain_1_0_0_0.application
et un répertoire 'chiffreromain_1_0_0_0'
chiffreromain.exe.deploy
chiffreromain..exe.manifest
Pour installer , on double clique sur Setup.exe.
Si le Framework n'est pas installé et s'il y a une connexion Internet, la fenêtre suivante s'ouvre et permet de télécharger et d'installer le Framework.
Puis une fenêtre permet d'installer le programme.
Pour lancer le programme, pas de problème , l'installateur ajoute le nom du programme dans le menu 'Démarrer' et aussi dans le menu programme, menu 'nom de l'éditeur' puis chiffreromain.
Pour désinstaller, pas de problème, dans menu 'Démarrer', "Paramètres", "Ajouter et supprimer programmes", le programme est répertorié et un bouton permet de le désinstaller.
Mais, ou s'installe le programme?
Il faut faire une recherche sur le nom de l'exécutable dans le disque dur:
On le trouve dans : "C:\Documents and Settings\
NomUtilisateur\LocalSettings\Apps\NomSociété\JHBVHR0G.E57\ZBOQP5EG.EYY\chif..tion_6625898959f0f00b_0001.0000_c9deafec99019f28"
On remarque que l'exécutable n'est plus dans un répertoire de 'Programs Files' mais dans les documents , le Local Setting, sous le nom de la société (celui qui est dans l'assembly), sous le nom du programme mais aussi sous le numéro de version...