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

Windows Forms Discussion :

[2.0] Application WinForm plante d'une machine à l'autre (publication)


Sujet :

Windows Forms

  1. #1
    Membre confirmé
    Avatar de strat0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Points : 598
    Points
    598
    Par défaut [2.0] Application WinForm plante d'une machine à l'autre (publication)
    Bonjour,

    J'ai conçu une application WinForm 2.0 qui fonctionne très bien sur ma machine de développement.

    Je l'ai publiée en y incluant le Framework 2.0. Si je l'installe sur ma propre machine, tout fonctionne correctement. Si je l'installe sur une de nos machines Vista, tout fonctionne correctement.

    Mais un utilisateur m'a rapporté n'avoir pas réussi à l'installer (j'ignore l'OS et le message d'erreur exact), et lorsque je l'installe sur une de nos machines Windows Server 2003, l'installation va jusqu'au bout, l'application se lance, mais lorsque je clique sur un bouton sensé ouvrir un OpenFileDialog, j'ai le message d'erreur suivant :
    ************** Texte de l'exception **************
    System.MissingMethodException: Méthode introuvable*: 'System.String System.Windows.Forms.OpenFileDialog.get_SafeFileName()'.
    à GestionnaireThesaurus.Principale.BoutonFichier_Click(Object sender, EventArgs e)
    à System.Windows.Forms.Control.OnClick(EventArgs e)
    à System.Windows.Forms.Button.OnClick(EventArgs e)
    à System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    à System.Windows.Forms.Control.WndProc(Message& m)
    à System.Windows.Forms.ButtonBase.WndProc(Message& m)
    à System.Windows.Forms.Button.WndProc(Message& m)
    à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    J'avoue que ça me dépasse puisque SafeFileName est pourtant bien une propriété de la classe OpenFileDialog (d'ailleurs comme je l'ai dit l'appli marche très bien sur d'autres machines).

    Je soupçonne que cette erreur et l'incapacité de mon utilisateur à installer l'appli sont liées. Etant débutant en WinForm, j'avoue aussi avoir beaucoup manipulé dans tous les sens les fichiers de l'appli, les ressources notamment, et l'avoir fait passer du Framework 3.5 au Framework 2.0 en cours de développement (quoique plutôt au début).

    Si ça vous inspire quelque chose...

    D'avance merci.

  2. #2
    Membre régulier

    Profil pro
    Inscrit en
    Août 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 60
    Points : 90
    Points
    90
    Par défaut
    Je crois que les framework sont différents entre Windows et Windows server. Donc d'origine les méthodes disponibles ne sont pas les même (d'ou le fait qu'il y ait un sdk Xp et un windows server.)


    Après je ne saurais t'aider plus, mais tu peux regarder du côté Framework pour Windows Server.

    Désolé de ne pas pouvoir t'aider plus.

  3. #3
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Dans l'aide msdn, tu as souvent un paragraphe "platforms" qui donne des détails sur la compatibilité avec les OS.

  4. #4
    Membre confirmé
    Avatar de strat0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Points : 598
    Points
    598
    Par défaut
    Alors...

    Pour l'utilisateur dont l'installation planterait je ne sais pas, mais pour le problème sous Windows Server 2003 avec OpenFileDialog.SafeFileName, j'ai trouvé.

    La propriété SafeFileName a été introduite dans le Framework 2.0 SERVICE PACK 1.

    Or lors de la publication c'est le Framework 2.0 tout court qui est inclus dans le package d'installation, et il n'est visiblement pas possible de préciser un numéro de service pack.

    Donc j'ai simplement remplacé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string toto = monOpenFileDialog.SafeFileName;
    Par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    System.IO.FileInfo monFileInfo = new FileInfo(monOpenFileDialog.FileName);
    string toto = monFileInfo.Name;
    Merci pour votre aide, ça m'a mis sur la bonne piste.

  5. #5
    Membre régulier

    Profil pro
    Inscrit en
    Août 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 60
    Points : 90
    Points
    90
    Par défaut
    Aucun problème,
    Tiens nous au courant, ça m'intéresse quand même ces problèmes de compatibilités.

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

Discussions similaires

  1. Problème de copie d'une machine à l'autre via SSH
    Par junior222 dans le forum Général Java
    Réponses: 2
    Dernier message: 18/08/2014, 14h26
  2. Réponses: 5
    Dernier message: 26/05/2012, 01h23
  3. Réponses: 15
    Dernier message: 27/01/2011, 13h33
  4. Réponses: 12
    Dernier message: 23/01/2008, 09h17
  5. Lancer script ou application au demarrage d'une machine distante
    Par Sendo dans le forum Administration système
    Réponses: 2
    Dernier message: 29/05/2006, 12h08

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