SUPINFO International University

SUPINFO Institute of Information Technology
Laboratoire Microsoft




Tous les Articles du Laboratoire Microsoft

Tech-Ed 2004 : Click Once & Whibey
Accueil > Articles > Evènements
Auteurs 
Matthieu NICOLESCU
LABORATOIRE SUPINFO DES TECHNOLOGIES MICROSOFT.NET
Assistant Formateur


 Tous les articles de cet auteur

0,8/5

Mauvais


68852
309/251

Mise à jour personnalisée

On va voir à présent que vous pouvez très bien personnaliser votre système de mise à jour en lui spécifiant de ne pas vérifier si une mise à jour est nécessaire à chaque fois mais en créant un bouton spécialement conçu à cet effet dans votre application. Une fois que l'utilisateur aura cliqué sur ce bouton, l'application vérifiera si une mise à jour est nécessaire.

Pour réaliser ce mini scénario, allez tout d'abord dans les propriétés de votre projet, dans la partie « Publish » et ensuite cliquez sur « Application Updates ».  Sur la fenêtre qui s'ouvrira, désélectionnez « The application should check for updates ». L'application à présent ne vérifiera donc plus si une mise à jour est nécessaire à chaque lancement de l'application. Nous allons à présent réaliser notre système de mise à jour personnalisée. Pour cela ajouter en référence l'assembly « System.Deployment.dll » et dans le code de votre formulaire Windows, ajoutez le namespace « System.Deployment » via un simple « using ».  Puis dans l'événement qui sera appelé lors du click sur le bouton, ajoutez le code suivant :

 

ApplicationDeployment applicationUpdater = ApplicationDeployment.CurrentDeployment;

if (applicationUpdater.CheckForUpdate())            
{
                DialogResult dr = MessageBox.Show("Une nouvelle version est disponible. Voulez vous la télécharger ?",
                "Nouvelle version disponible",
                MessageBoxButtons.YesNo,
                MessageBoxIcon.Question);

    if (dr == DialogResult.Yes)                
    {
                applicationUpdater.Update();
                MessageBox.Show("Application mise à jour");

    }else                
    {
                MessageBox.Show("Mise à jour abordée");
    }            
}else            
{
                MessageBox.Show("Pas de nouvelle version");
}

Pour ceux qui ont utilisé ClickOnce dans sa version Alpha, vous pouvez remarquer que le code a légèrement changé. Pour comparaison, voici ci-dessous le code correspondant à la version Alpha :

 

ApplicationUpdateService applicationUpdater = ApplicationUpdateService.CurrentDeployment;
Version currentApplicationVersion = applicationUpdater.CurrentVersion;
Version newApplicationVersion = applicationUpdater.CheckForUpdate();

if (newApplicationVersion > currentApplicationVersion)     
{
           DialogResult dr = MessageBox.Show( "Une nouvelle version est disponible. Voulez vous la télécharger ?",
           "Nouvelle version disponible",
           MessageBoxButtons.YesNo,
           MessageBoxIcon.Question );

           if (dr == DialogResult.Yes)            
           {                  
                       applicationUpdater.Update();                  
                       MessageBox.Show( "Application mise à jour" );
           }else            
            {                  
                       MessageBox.Show( "Mise à jour abordée" );
            }     
}else     
{            
           MessageBox.Show( "Pas de nouvelle version" );
 }

 

Publiez ensuite votre application et lorsque vous allez cliquez sur le bouton de votre application, si une version supérieure est disponible, le message suivant s'affichera :


Introduction
1. Configuration de publication
2. Publication de l’application
3. Mise à jour de l’application
4. Gestion des permissions
5. Mise à jour personnalisée



En Savoir Plus 
Evaluez cet article 


Pour afficher ou poster un commentaire, cliquez sur ce lien : Forum-Microsoft



Retrouvez ci-dessous les autres sections du Laboratoire Microsoft