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

C# Discussion :

Déploiement application C#


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 22
    Points : 13
    Points
    13
    Par défaut Déploiement application C#
    Bonjour,


    Je ne n'arrive pas à faire fonctionner mon application et je ne dispose d'aucune erreur visible...

    J'ai donc créé une application et j'ai essayé de copier le dossier de debug en entier sur une autre machine, mais quand je la lance il ne se passe rien... Pas d'erreur... (j'ai copié toutes les dll ...)

    Je vois juste que sa charge mais rien... Apparemment je dois avoir le processus en tache de fond car je ne peux pas supprimer le .exe

    Sur la machine ou il y a les outils de développement je n'ai aucun soucis (même en renommant et déplaçant le dossier)

    Merci pour vos lumières

  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
    tu peux jeter un oeil dans l'observateur d'évènements / application pour voir si windows log une erreur dans ton code (auquel cas il te manque des try catch et tu as un bug)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 22
    Points : 13
    Points
    13
    Par défaut
    Je n'ai effectivement rien du tout dans le journal mais j'ai surtout l'impression que l'application tourne en tache de fond.
    (Elle me plante à moitié mon explorer)

    J'ai rajouter un try/catch autour de l'Initialisation de la MainWindows mais je n'ai rien non plus...
    Je ne sais pas comment débloquer la situation.

    Même en créant un setup j'ai le même problème.

    J'ai copier mon travail sur une autre machine ou j'ai Visual studio et éxécuté le dossier de Debug et dans ce cas la je n'ai aucun problème...

    Je suppose qui doit me manquer un composant (même si j'ai fait une copie local de toutes les dll), un chemin d'image ou une ressource peut être mais je ne sais pas trop comment détecter le problème.

    Merci

  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
    si le framework nécessaire n'est pas installé l'appli ne démarre pas (et n'est donc pas résidente dans les processus)
    si une dll manque, ca fait une exception lors de la 1ère utilisation par le code, si aucun try catch alors l'appli plante ("a fermé" + message plus clair dans event obs), si try catch absorbant l'appli continue (mais pourra planter plus tard)

    il y a aussi le débuggage distant (remote debugger), ca permet à visual studio de se connecter au processus (même à travers un réseau) pour faire du pas à pas / point d'arret dans le code
    si tu arrives à mettre ca en place tu pourras alors faire pause sur l'exécution pour voir où en ca en est, mais sans garantie que ca soit dans ton code qui ca tourne en boucle
    d'ailleurs en parlant de boucle tu n'aurais pas une boucle quelque part et qui dans un environnement différent serais sans fin ?

    en plus simple il y a le debuggage à l'ancienne, dans ton appli tu mets des messagebox.show ou des system.io.file.appendalltext à plein d'endroit (enfin quelque uns au début, puis tu peux recompiler en en ajoutant/déplaçant), ce qui te permet de voir le cheminement à l'exécution
    genre début du programme, entré dans telle méthode ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 22
    Points : 13
    Points
    13
    Par défaut
    Ça ressemble vraiment au problème de Framework mais j'ai bien la version 4.5 installer sur ma machine donc je ne comprend pas pourquoi. (il est dans les prérequis du setup en +)

    J'ai mis un MessageBox.Show pour le try catch mais j'ai pas l'impression d'arriver jusqu'à celui-ci...

    Je n'ai pas de boucle du tout dans mon code.

    Je crois que je vais devoir essayer de debbuger à distance même si je ne l'ai jamais fait... J'essayerai ça ce soir.

    Je reconnais que ça m'embête sa fait 4 jours que je ne comprend pas pourquoi...

  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
    y a plein d'autres choses imaginable, déjà refaire un exe tout vide qui affiche une fenetre vide et voir s'il démarre
    s'il démarre commenter le code au début de ton programme, s'il ne démarre pas essayer de compiler en ciblant une autre version du framework
    etc...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 22
    Points : 13
    Points
    13
    Par défaut
    Est-ce que cela pourrait provenir d'un fichier Image ou Icone qu'il ne trouverait pas ?

    Car dans mes Windows (XAML) j'appels : "Icons/Icon.ico" qui est en mode de compilation resource (et donc non copié dans le debug car dans le .exe si je ne me trompe pas)

    J'ai une image et des fonts dans le même cas.


    J'aurai besoin qu'on m'éclaire sur la question... (ça me permettra de vérifier que je n'ai pas fait d'erreur à ce niveau)

    Quelle est la différence entre mettre action build : resource et de créer un fichier ressources.resx dans lequel on ajoute nos ressources ? (les 2 sont dans le exe ?)
    Quelles sont les différences pour y accéder dans le code behind et le XAML?
    Et surtout quelle utilisation à chacune des 2 méthodes ?

  8. #8
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 22
    Points : 13
    Points
    13
    Par défaut
    J'ai enfin trouvé, mais je ne comprend pas...

    J'ai mis une image en arrière plan et donc apparemment le problème viendrait de ça...

    J'ai fait : (dans le fichier app.xaml ou j'ai défini plusieurs styles et template)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <Grid>
      <Grid.Background>
        <ImageBrush ImageSource="/Images/smite_Background.jpg"/>
      <Grid.Background>
    </Grid>
    Le build action définit est ressources. IL devrait donc être accessible non ?

    Edit :

    J'ai compris mon problème !!! j'ai mis /Images/smite_Background.jpg (il est de trop)

    PS 2 :Au passage ai-je un moyen de détecter ce genre d'erreur simplement ?? Merci pour cette dernière information. (en plus si possible de ma question précédente sur l'option action build : resource et le fichier ressources.resx

  9. #9
    Membre habitué

    Homme Profil pro
    Développeur .Net et Web, Ingénieur en Analyse et Conception de SII
    Inscrit en
    Octobre 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur .Net et Web, Ingénieur en Analyse et Conception de SII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 82
    Points : 144
    Points
    144
    Billets dans le blog
    2
    Par défaut

    et . Il y a certes des moyens pour contourner ta situation, par exemple inserer les variables de paramètres d'erreurs dans la clause catch pour l'affichage. Mais tout depend de ce que tu as à faire.
    Fely Kanku Developpeur .Net et analyste programmeur

  10. #10
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 22
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    Je ré-ouvre le sujet parce que la je ne comprend plus rien...

    Lorsque j’exécute l'application depuis le dossier bin sur réseau (partage) l'application se lance bien sans aucun problème. J'ai donc pensé à un pb de path.

    Mais miracle en copiant le bin sur une autre machine (W7 alors que la mienne est sur W10) l'application marche... donc sur d'autre ordi sans aucun lien (donc pas de pb de path)

    Donc pour récap :


    - Mon application fonctionne dans le dossier réseau partagé mais ne fonctionne plus si je la copie sur mon bureau par exemple
    - Mon application fonctionne sur les autres ordi W7/W10 quand je leur passe la copie du dossier bin (sauf le mien W10).

    Déduction :
    - Mon application fonctionne partout sauf sur ma machine
    - Est-il possible qu'il me manque un composant ?

    Pour le catch j'ai mis DispatcherUnhandledException="App_DispatcherUnhandledException" qui fait un MessageBox.Show("Erreur inattendue !") et qui fait un Environnement.Exit(); mais celui-ci n'est jamais appelé !

    Je n'ai donc pas d'erreur mais l'application ne se montre pas pour autant.

    Je ne la voie pas dans les processus sauf que dans le moniteur de ressources j'ai ceci (voir image)

    Nom : test.PNG
Affichages : 683
Taille : 15,7 Ko

    Il n'y a donc pas de processus Lion.exe dans le gestionnaire de tâche, mais il apparait dans le moniteur de ressources avec 3 thread...
    Je ne peux même pas faire un "Terminer l'arborescence du processus" car j'ai une erreur : "Accès refusé" et je ne peux pas supprimer les fichiers tant que je n'ai pas redémarré la machine...


    EDIT :

    Bon j'ai trouvé un truc un peu bizarre.

    En Exécutant mon programme sur une autre machine y a Avast qui a scanné l'application. Il y a eu une erreur du genre Erreur adresse mémoire non inscriptible... J'ai donc scanner et relancé sans problème.

    Sur ma machine j'ai désactivé Avast et puis la magie, mon application c'est lancé...

    En remettant les agents Avast en route l'application bug, du genre démarrage en tache de fond sans affichage(retour du bug évoqué).

    Y a t-il une solution pour ce genre de problème ?

  11. #11
    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
    désinstaller l'antivirus, c'est à la mode en ce moment
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  12. #12
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 22
    Points : 13
    Points
    13
    Par défaut
    C'est ce que j'ai fait...

    Sa ma débloquer tout les thread bloqué et tout... Mon appli est apparue 4 fois d'un coup pendant la désinstallation.

    Mais y a pas un moyen de passer outre ce problème ?

  13. #13
    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
    mettre des exceptions dans l'antivirus (dossiers surveillés retirer tout ce qui est visual studio et ton appli)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  14. #14
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 22
    Points : 13
    Points
    13
    Par défaut
    Vite vu, j'ai désinstallé avast et repris celui de windows (defender) ...

    Je considère pas vraiment ça comme une solution viable car ce n'est pas valide pour toutes les machines et surtout si je donne une application pour dire à tout le monde de rajouter des exceptions dans l'antivirus voila la confiance...

    Je me demande bien comment font les éditeurs de logiciel sur ce genre de point.

    Je me demande si c'est pas avast qui essaye d’exécuter en mode sandbox qui me créer le problème...

  15. #15
    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
    beaucoup d'antivirus causent des problèmes (pas tous ... enfin sauf si on considère les pertes de performance comme un problème ^^)
    et on commence à trouver des articles de personnes informés qui disent qu'il faut désinstaller les antivirus qui causent divers problèmes (en plus d'être peu efficaces dans certains cas) et de laisser defender + firewall
    la sécurisation se fait alors par des règles de sécurité (désactivation des clés usb ...) et de l’éveil des consciences (le meilleur antivirus reste la personne qui sait comment éviter les problèmes)

    après dans les faits tu pourrais tester ton appli avec divers antivirus pour voir ceux avec lesquels il faudrait une exception, ce qui reste mieux pour la confiance (ce qui te pose problème à priori)
    mais bon ca ne tient pas dans le temps car les antivirus ont des mises à jours et ca peut donc changer
    donc ca serait plutot à généraliser

    j'ai déjà vu par le passé un antivirus imposé par le client sur le serveur de prod sur lequel on avait ajouté une exception pour que l'appli tourne ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  16. #16
    Membre chevronné
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 898
    Points : 1 915
    Points
    1 915
    Par défaut
    Peut-être qu'il peut tester avec un déploiement ClickOnce, pour voir si une procédure standardisée peut échapper au contrôle de l'anti-virus. Par contre pour un déploiement à grande échelle il faudra sans doute envisager l'acquisition d'un certificat d'éditeur de logiciel.

  17. #17
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 22
    Points : 13
    Points
    13
    Par défaut
    Ce n'est pas vraiment une application à qui doit être déployée à grande échelle, mais plutôt une application que j'ai fait pour le fun et permettre à quelques amis de programmer l'arrêt du pc ou d'exécuter des programmes à l'heure qu'ils veulent de manière simple.

    Ce qui me dérange c'est de passer un programme à des amis qui ne connaissent rien dans le domaine et qui voient leur antivirus s'exciter alors qu'il n'y a rien à part un compte à rebours et une simple commande à exécuter.

    L'acquisition d'un certificat d'éditeur de logiciel me parait un peu gros pour une simple appli.

    Je vais essayer de créer un ClickOnce pour voir ce qu'il en ressort.

    Merci beaucoup pour votre aide

  18. #18
    Membre chevronné
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 898
    Points : 1 915
    Points
    1 915
    Par défaut
    ClickOnce permet de packager et déployer rapidement et facilement des applications. Si tu as un hébergement web tu pourras mettre le paquet publié dessus et le déploiement se fera simplement un suivant le lien du fichier de déploiement avec IE. Par contre des vérifications sont faites par Windows sur la signature du programme et s'il ne reconnait pas la certificats éditeur et certification de confiance il demandera à l'utilisateur de confirmer l'installation. Les certificats permettent de garantir l'authenticité du fournisseur et de valider automatiquement ce contrôle, ce qui devient nécessaire en terme d'image lorsque l'on veut vendre son produit ; tu n'en n'auras pas besoin pour passer ton programme à tes amis (au pire tu pourras te créer un certificat que tu leur transmettra).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème déploiement application struts
    Par gloglo dans le forum Struts 1
    Réponses: 1
    Dernier message: 29/11/2006, 11h38
  2. Déploiement application mfc
    Par alaino dans le forum MFC
    Réponses: 3
    Dernier message: 07/07/2006, 10h53
  3. [Tomcat] Déploiement application
    Par le Daoud dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 21/04/2006, 14h58
  4. [OCI] Déploiement application
    Par Rupella dans le forum Interfaces de programmation
    Réponses: 1
    Dernier message: 07/03/2006, 02h27
  5. [Déploiement Application] Quel SGBD sont conseillés ?
    Par charliejo dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 24/01/2006, 17h47

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