IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

ProgressBar installation de logiciel


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 6
    Points : 2
    Points
    2
    Par défaut ProgressBar installation de logiciel
    Bonne année a tout le monde
    J'ai besoin d'aide s'il vous plait

    Je veux créer une interface pour installer plusieurs logiciels en même temp, en mode silent

    Et je veux ajouter une progress bar pour voir l' avancement de chaque installation.

    1 - le code pour installation des logiciels est OK, mais progressbar n'affiche rien.
    ma question est :
    Comment ajouter progressbar pour voir l'avancement de l'instalation de chaque logiciel ?
    merci d'avance
    voici mon Code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Public Class Form1 
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
            BackgroundWorker1.RunWorkerAsync() 
     
        End Sub 
     
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
            Control.CheckForIllegalCrossThreadCalls = False 
        End Sub 
     
        Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork 
            Dim p As New Process 
            BackgroundWorker1.ReportProgress() 
            System.Threading.Thread.Sleep(100) 
            p.StartInfo.FileName = "cmd.exe" 
            p.StartInfo.Arguments = "/c start C:\Users\Computer\Desktop\vlc\vlc-2.2.1-win32.exe /S" 
            p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden 
            p.Start() 
            System.Threading.Thread.Sleep(100) 
     
     
     
        End Sub 
     
        Private Sub BackgroundWorker1_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles BackgroundWorker1.ProgressChanged 
            ProgressBar1.Value = e.ProgressPercentage 
     
        End Sub 
     
        Private Sub BackgroundWorker1_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted 
     
            Label1.Text = "Success" 
        End Sub 
    End Class

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Control.CheckForIllegalCrossThreadCalls = False
    cette ligne de code est "interdite"
    (au passage il y a une balise pour la mise en forme du code sur le forum)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BackgroundWorker1.ReportProgress(pct)
    il faut mettre une valeur sur cette ligne de code, et c'est cette valeur qui sera dans e.ProgressPercentage dans l'autre évènement
    le progressbar n'est en rien magique, il ne devine pas quand ce que tu veux lui faire gérer sera fini (ni sur quelle partie de ton code il porte)
    il faut l'appeler à chaque fois que tu veux que ca avance, pour ca il faudrait donc que tu puisses savoir où ça en est, ce qui n'est pas forcément simple je pense
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    merci pour votre repense
    pourquoi cette ligne de code est "interdite" ***Control.CheckForIllegalCrossThreadCalls = False*** ?

    vous pouvez me donnè un exemple SVP (niveau débutent) ?

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    c'est précisé sur l'aide (msdn)
    cette ligne sert à débugger pour trouver à quel endroit de son code on fait un appel cross thread (thread seconde qui modifie l'interface)
    mais elle peut provoquer une instabilité

    sans cette ligne l'application plante si on fait du cross thread
    les débutants s'en servent car le mécanisme des threads n'est pas forcément intuitif, mais il n'est pas insurmontable
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    vous pouvez m expliquer comme faire ?
    et comment calcule le temps du processus externe (installation une logiciel en silen) .

  6. #6
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    si l'install n'est pas prévue pour dire où elle en est tu ne pourras pas le deviner
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    si l'install n'est pas prévue pour dire où elle en est tu ne pourras pas le deviner
    merci

    voici l'image de mon projet

    Nom : Projet_Application.png
Affichages : 211
Taille : 49,8 Ko

  8. #8
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    je ne sais pas si c'est possible, et si ca l'est je ne sais pas comment, c'est à toi de chercher ...

    quand on ne sait pas combien de temps dure un truc, on fait juste une barre de progression qui tourne vite pour dire que c'est en cours
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  9. #9
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    Il existe quand même d'autre méthodes et technique pour "automatiser" le déploiement d'application en batterie. Ne serait-ce que de repackager les applications dans un nouvel installeur (c'est ce que font la plupart de site distribuant un prog gratuit mais avec en cadeau 3-4 adware, ben là tu fais pareille mais avec 3-4 autre application utile à la place des adware). Parce que en définitive ta question ou problématique n'est pas réellement du domaine de la programmation.

    Sinon comme Pol63 a indiqué, s'il n'est pas possible d'obtenir un retour de l'installeur en mode silencieux indiquant la progression. Tu n'as pas d'autre choix que d'utiliser la barre de progression en mode "libre" (le truc qui tourne en boucle) pour indiquer que quelque chose se passe mais que tu n'as pas d'indication.

  10. #10
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    toute est possible avec la programmation
    il faut juste trouver la méthode
    exemple de logiciel ressemble a mon projet http://speed-install.fr.uptodown.com/

  11. #11
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Citation Envoyé par deouf Voir le message
    toute est possible avec la programmation
    il faut juste trouver la méthode
    Trouve la méthode pour qu'un portable fasse le (petit) déjeuner du matin:

    Prendre deux œufs au réfrigérateur
    Les faire cuire
    Prendre deux tranches de pain
    Les faire rôtir etc.

    Quoi qu'il en soit, la seule méthode pour paramétrer correctement une barre de progression est de savoir exactement combien de temps, un PC particulier va mettre de temps à installer un logiciel donné à une heure donnée. Il suffit que ton concurrent fasse démarrer son génial programme de test automatique des disques sans prévenir personne pour que ton programme perde toute la mémoire dont il a besoin, ou carrément l'accès au disque. Une barre de progression qui marque 80 % quand il y a juste 20 % de fait c'est de la m...

    À moins que tu n'aies testé la durée d'installation d'un programme particulier sur suffisamment d'ordinateurs et de configurations pour avoir une approximation acceptable de la durée réelle, cela se sert à rien de mettre un cossin qui donnera de la fausse information de toutes façons.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

Discussions similaires

  1. Absence d'aide sur Visual Basic
    Par Girvy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/01/2008, 11h03
  2. [VB6] Aide de visual Basic
    Par Spiritkiller dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 05/05/2006, 12h33
  3. Aide sur visual basic?? Quelqu'un peut-il m'aider?
    Par lilipika dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 02/03/2006, 15h03
  4. [VBA-E]aide sur visual basic
    Par jaroddu94 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 20/02/2006, 13h59
  5. contrôle data sur visual basic 6.0
    Par Silent Thunder dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 29/03/2005, 19h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo