Bêta
Nouvelle version de Miles conçue pour la Bêta de la prochaine version de DreamShield, téléchargeable ici.
Cette version de Miles a été pour l'occasion disposée à cette adresse.
La grande nouveauté de cette version est l'ajout d'outils spécialement dédiés à la création de mises à jour automatiques. Voici une présentation rapide permettant de réaliser des mises à jour automatiques pour n'importe quelle application .NET déployée avec DreamShield.
Projet d'installation
- Tout d'abord vous devez utiliser la bêta de DreamShield Update 1, téléchargeable via le lien cité plus haut
- Miles utilise DreamShield's Live Update v 2.0 que vous devez redistribuer à votre projet. Pour cela, dans votre projet vous devez vous rendre dans la rubrique Données du package > Edition des modules partagés puis sélectionnez le composant par défaut, faites un clique droit sur la liste à droite puis "Ajouter un module" et choisissez le fichier DreamShield's LiveUpdate.ddmerge situé dans le dossier d'installation de DreamShield, sous dossier Redist\Merge Modules (Dans le cas par défaut, c'est donc C:\Program Files\LKSoft\DreamShield Applications\Redist\Merge Modules).
Une fois rajouté, modifiez la propriété "Mode d'inclusion" (en bas) pour spécifier la valeur "External".
- Vos applications vont maintenant s'installer avec DreamShield's LiveUpdate. Le dernier point est qu'il vous faut utiliser l'outil de publication pour que les mises à jour soient détectées (cf. rubrique Outils de publication > Assistant de publication).
Application
- Décompressez l'archive Miles pour la bêta (lien de téléchargement plus haut) dans un dossier, et rajoutez une référence vers "\DreamShield.Deployment.Miles.ApplicationUtils\bin\Debug\DreamShield.Deployment.Miles.ApplicationUtils.dll" et spécifiez de copier cette référence vers la sortie. En d'autres termes, il faudra redistribuer avec votre application (et mettre dans le dossier de votre exécutable) les dll
- DreamShield.Deployment.Miles.ApplicationUtils.dll
- DreamShield.UpdateCheckerApplication.Starter.dll
Et voilà, maintenant il vous suffit de rajouter
using DreamShield.Deployment.Miles.ApplicationUtils;
Et d'utiliser le code en fonction de vos envies. Notez qu'à chaque fois GUID_DE_VOTRE_APPLICATION et le Guid de votre produit, dans les options de votre projet d'installation, et l'Url de publication correspond à l'url complète à laquelle obtenir votre application. Ie. si votre application est déployée sur le serveur ftp://www.exemple.com/machin/truc et que le serveur de téléchargement est http://www.exemple.com/wwwroot, alors l'url sera http://www.exemple.com/wwwroot/machin/truc
Vérifier si votre application est bien installée
InstalledApplicationManager.IsInstalledApplication(new Guid("GUID_DE_VOTRE_APPLICATION"));
Obtenir la version de DreamShield's LiveUpdate (elle doit être 2 minimum pour utiliser Miles)
InstalledApplicationManager.GetInstalledLiveUpdateVersion()
Initialiser Miles pour votre produit
1 2 3
|
InstalledApplicationManager installedApplication = new InstalledApplicationManager(
new Guid("GUID_DE_VOTRE_PRODUIT")); |
Vérifier si une nouvelle mise à jour est disponible pour votre produit
1 2 3
|
string publishUrl = "url de publication";
return installedApplication.HasUpdatesAvailable(publishUrl, true); |
(le true spécifie qu'il faut afficher un petit tooltip dans la zone de notification pour dire qu'une recherche de mise à jour est en cours, false si vous n'en voulez pas).
Installer les mises à jour disponibles
1 2
|
installedApplication.InstallUpdates(publishUrl, false, false); |
Enfin, la procédure normale de mise à jour est la suivante :
- Vérifier si l'application est bien installée (erreur sinon)
- Vérifier si DreamShield's LiveUpdate 2 ou plus est bien installé (erreur sinon)
- Vérifier si des mises à jour sont disponibles
- Si des mises à jour sont disponibles, demander à l'utilisateur s'il veux les installer
- Si l'utilisateur est d'accord, lancer la procédure InstallUpdates et quitter l'application pour laisser les mises à jour s'installer.
Le dernier point est possible car les mises à jour ne sont pas exécutée dans le même processus que l'application en cours. Donc une fois que vous avez lancé InstallUpdates, votre application continue de s'exécuter pendant la recherche des mises à jour mais pour éviter de verrouiller les fichiers à installer de sorte que l'installeur soit obligé de redémarrer l'ordinateur, il faut fermer l'application à mettre à jour.
Voilà voilà.
Partager